我对雄辩的模型传递变量有问题,我会举个例子
数据库:

书:

-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/

10-12 15:07