我怎样才能在模型中使用函数?
Select * from friends where (user_id = 22 or content_id = 22) and type=2 and situation = 1;
我尝试了,但它给出了错误;
public function friends() {
return $this->hasMany('Friends',function ($query) {
$query->where('content_id', $this->attributes['id']);
$query->orWhere('user_id',$this->attributes['id']);
})->where('type',2)->where('situation',1)->orderBy('id','DESC');
}
答案 0 :(得分:2)
首先,是您的型号名称'朋友'或者仅仅是朋友'?假设您遵循惯例并使用单数时态作为模型名称,这应该有效:
return $this->hasMany('Friend')->where(function($query) {
$query->where('content_id', $this->attributes['id']);
$query->orWhere('user_id',$this->attributes['id']);
})->where('type',2)->where('situation',1)->orderBy('id','DESC');
换句话说,在hasMany()关系之后添加其他查询参数,而不是第二个参数的闭包。