我有这两个表:
**users**
id | name | email | ...
-----------
**rooms**
user_id | title | status | ...
---------------------------
我如何选择所有用户的电子邮件,其中包含Laravel 5中列出了房间状态的房间?
答案 0 :(得分:1)
您必须执行的操作,必须使用“ with”和“ has”
$user = User::with(['room'])->whereHas('room,function($query){
$q->where('status',1);
})->get();
创建“用户和房间”模型以及用户名“房间”中的关系。 可能是以上一种解决您的问题
答案 1 :(得分:0)
如果您已经定义了App\User
和App\Room
这样的模型之间的关系。
class User {
/* other codes in your model goes here */
public function rooms(){
return $this->hasMany(App\Room::class);
}
}
class Room {
/* other codes in your model goes here */
public function user(){
return $this->belongsTo(App\User::class);
}
}
您可以检索所有列出房间状态的房间的用户电子邮件
$users= \App\User::with(['rooms' => function($query){
$query->where('status', 'listed');
}])->pluck('email');