在登录模型中,我与图片表有实现关系
function picture () {
return $this->hasOne('App\Picture');
}
Run Code Online (Sandbox Code Playgroud)
现在我想要 Picture.picture_status = 1 和 User.user_status = 1 的数据
Login::with('picture')->where('picture_status', 1)->where('user_status',1);
Run Code Online (Sandbox Code Playgroud)
但是如果条件不适用于图片表,我如何在两个表上实施和条件
这应该这样做:
Login::with(['picture' => function ($query) {
$query->where('picture_status', 1)->where('user_status',1);
}])->get();
Run Code Online (Sandbox Code Playgroud)
有时您可能希望预先加载关系,但也为预先加载查询指定额外的查询约束 https://laravel.com/docs/5.2/eloquent-relationships#constraining-eager-loads
小智 5
class Login extends Model
{
protected $primaryKey = 'id';
function picture () {
return $this->hasOne('App\Picture', 'id', 'user_id')->where('picture_status', 1)->where('user_status',1)->first();
}
}
Run Code Online (Sandbox Code Playgroud)
你可以这样调用;
$usersWithProfilePictures = Login::with('picture')->get();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23489 次 |
| 最近记录: |