別のモデルに属するモデルが欲しいです。私のコントローラーでは、そのモデルのすべてのアイテムを取得したいのですが、それが属するテーブルの属性も必要です。例えば:
class Comment extends Eloquent {
public function post()
{
return $this->belongsTo('Post');
}
}
私のコントローラーでは、次のようにしてコメント データを取得できます。
$comments = Comment::first();
ただし、それはコメントテーブルからのデータのみを提供します(投稿テーブルからの結合データは提供しません)。各コメントが属する行の posts テーブルのデータを、Comment モデルの属性として使用できるようにしたいと考えています。posts テーブルからデータを取得するには、次のこともできることを知っています。
$comments = コメント::first();
この方法の問題点は、2 つのデータベース クエリを使用することです (#1 はコメントを取得し、#2 はそれが属する投稿データを取得します)。結合ステートメントに相当する、両方のテーブルからモデルにデータを取得する方法はありますか?
SELECT * FROM comments LEFT JOIN posts ON comments.post_id = posts.id
Comment モデルまたは Post モデルを使用せずに結合クエリを手動で作成していることはわかっていますが、Comment モデルには、取得したデータで使用できるメソッドがいくつかあります。どうすればこれを達成できるか知っている人はいますか?