私はテーブルがusers
と呼ばれている場合:注文
| id | username | password |
を、テーブルがuser_stats
呼ば:
| id | user_id | num_posts |
私はすべてのユーザーを取得し、ポストの数によってそれらを並べ替えることができますどのように彼ら持ってる?
マイUser.php
モデルはこの関係を持っています
public function stats()
{
return $this->hasOne('App\UserStat');
}
そして、私のUserStat.php
モデルは、この関係を持っています
public function user()
{
return $this->belongsTo('App\User');
}
私は同じように、クエリビルダを使用して参加行うことができます知っている:
を$users = User::join('user_stats', 'users.id', '=', user_stats.user_id')
->orderBy('user_stats.num_posts', 'DESC')
->get();
しかし、Eloquを使用するより良い方法がありますORM?