我有两张table和两个模型。所以,我有很多文凭。关系在模型中定义。
在我的编辑操作中:
$cv = Cv::where('link', '=', $link)->firstOrFail();
如果我调用关系函数 diplomas
比如这里:
$cvDiploms = $cv->diplomas;
return $cvDiploms;
它返回一个json对象数组。
现在,我试着提出这样一个问题:
$deletedDiplomas = $cv->diplomas->whereNotIn('image', $request['test-diploma'])->get();
它会返回一个错误:
在第272行的/home/name/project/app/http/controllers/cvscontroller.php中调用并定义的illuminate\support\collection::get()缺少参数1
我应该如何调用该查询来获取所有 Cv's diplomas
,在哪里 'image'
是 not in $request['test-diploma']
?
2条答案
按热度按时间x4shl7ld1#
您可能正在尝试对数组对象进行查询。您应该使用关系本身进行查询。试试这个:
uurity8g2#
$cv->diplomas
自动呼叫get()
因此它返回一个集合。那你就给我打电话get()
再说一遍,但是收集方法get()
需要一个参数。你需要写信
$cv->diplomas()
(引用函数而不是属性)来获取查询,然后可以在调用之前对其进行筛选get()
```$deletedDiplomas = $cv->diplomas()->whereNotIn('image', $request['test-diploma'])->get();