我对雄辩的模型传递变量有问题,我会举个例子
数据库:
书:
-ID
-名称
用户名:
-ID
-名称
愿望清单:
-book_id
-用户身份
现在,当我得到书的记录时。如果用户在愿望清单中有这本书,我希望能有所作为。
我有这样的关系:
书本雄辩的模式:
public function wishList($userId)
{
return $this->hasOne('App\Model\Pivot\WishList', 'comics_record_id')->where('user_id',$userId);
}
但是,当我运行此代码时,请不要给我任何提示。
书本控制器:
$record = Book:find(1);
$record->wishList(1);
我也尝试用雄辩的模式来设定二传手。
不懂事:(
谢谢您的帮助,对不起我的英语。
最佳答案
首先,更改您与此的关系-
public function wishList()
{
return $this->hasMany('App\Model\Pivot\WishList', 'book_id', 'id');
}
然后您的关系将是-
$book = Book::with('wishList')->where('id',$book_id)->whereHas('wishList', function($q) use ($user_id){
$q->where('user_id',$user_id);
})->first();
if($book){
//show true here
}
else{
//show false here
}
关于php - Laravel Eloquent 枢轴传递变量到模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48448156/