0
我想從數據庫查詢中訪問數據,我認爲這需要一個連接。我擁有的用戶可以與衆多小組分開。我正在使用belongsToMany 關係。我的模型是這樣的加入透視表訪問數據
class User extends Model
{
protected $table = 'users';
protected $guarded = [];
public function group()
{
return $this->belongsToMany('App\Group', 'users_user_groups')->withPivot('user_id', 'group_id');
}
}
class Group extends Model
{
protected $table = 'user_groups';
protected $guarded = [];
use SoftDeletes;
public function user()
{
return $this->belongsToMany('App\User', 'users_user_groups')->withPivot('user_id', 'group_id');
}
}
當我運行一切我也需要,我可能會得到如下的數據。
users
+----+---------------+
| id | name |
+----+---------------+
| 1 | John Doe |
+----+---------------+
user_groups
+----+---------------+-----------------+
| id | name | description |
+----+---------------+-----------------+
| 1 | Group AA | Something |
+----+---------------+-----------------+
| 2 | Group BB | Something |
+----+---------------+-----------------+
users_user_groups
+----+---------------+-----------------+
| id | user_id | group_id |
+----+---------------+-----------------+
| 1 | 1 | 1 |
+----+---------------+-----------------+
| 2 | 1 | 2 |
+----+---------------+-----------------+
所以我知道id爲1的用戶屬於具有的1和2的id是什麼,我試圖做的就是抓住所有的數據庫中誰 屬於名爲admin將USER_GROUP用戶的user_groups 。所以,我想這樣的事情
DB::table('users')->select('userName')
->join('user_groups', 'users_user_groups')
->where('name', '=', 'admin')->get();
這個我知道全錯了,我怎麼能使用belongsToMany和數據透視表時,得到一組內的所有用戶?
謝謝