私は作成しているWebアプリケーション用のAPIを作成していますし、Eloquent ORM内に保持しようとしています。私が起こっている親子関係があります:Laravel Eloquent ORM - ステートメントでネストされました
ユーザー - >サイトログ] - > [サイト
サイトクラスコード:
class Site extends Model {
public function log() {
return $this->hasMany('App\SiteLog', 'site_id', 'id');
}
}
sitelogがクラスコード:
class SiteLog extends Model
{
public function site()
{
return $this->belongsTo('App\Site', 'site_id', 'id');
}
public function user()
{
return $this->belongsTo('App\User', 'user_id', 'id');
}
}
SiteLogクラスを次のようにインスタンス化すると、
$sites = Site::with('log')->get();
jQueryでGETリクエストを作成すると、すべてのサイトが取得され、それらの内部には、それぞれのログのすべてのデータを含むオブジェクトの配列があります。それはまさに私が欲しかったものです。しかし、私はそれをさらに進めて、ログが関連付けられていることをユーザーに伝えたいと思っていました。これがどのように動作するかのようなの
並べ替え:
SiteLog::with('user')->get();
しかし、一つの文のすべてのそれは一つの大きながクエリに参加したかのように。しかし、Eloquent ORMがそのようなテストケースをカバーするかどうかはわかりません。
誰もこれを達成したことがありますか?私は、これをかなり面倒なプラクティスや、生のSQLクエリを書くだけで済ませることができますが、これを行うためのより雄弁な方法があるかどうかは疑問です。
のような熱心な負荷にそれを持っているログごとに関連するユーザーが必要な場合は? – Darama