Laravel 複数テーブル結合クエリの実装方法【基本と応用】

Laravelの多対多の関連クエリは、Eloquent ORMを使用して実装することができます。以下に、postsとcommentsという2つのテーブルがあると仮定して、それぞれのpostと関連するすべてのcommentsをクエリする例を示します。

// 在Post模型中定义关联关系
class Post extends Model
{
    public function comments()
    {
        return $this->hasMany(Comment::class);
    }
}

// 在Comment模型中定义关联关系
class Comment extends Model
{
    public function post()
    {
        return $this->belongsTo(Post::class);
    }
}

// 在控制器中进行联合查询
$posts = Post::with('comments')->get();

// 遍历结果
foreach ($posts as $post) {
    echo $post->title;

    foreach ($post->comments as $comment) {
        echo $comment->content;
    }
}

上記のコードでは、Eloquent ORMのwithメソッドを使用して関連するデータを取得しています。モデル間の関連関係を定義することで、簡単に複数のテーブルの結合クエリを実行できます。

bannerAds