我有 2 个表和模型。 所以,一份简历有很多文凭。关系在模型中定义。
在我的编辑操作中:
$cv = Cv::where('link', '=', $link)->firstOrFail();
然后如果我像这里一样调用关系函数 diplomas
:
$cvDiploms = $cv->diplomas;
return $cvDiploms;
它返回 JSON 对象数组。
现在,我正在尝试进行如下查询:
$deletedDiplomas = $cv->diplomas->whereNotIn('image', $request['test-diploma'])->get();
它返回错误:
Missing argument 1 for Illuminate\Support\Collection::get(), called in /home/name/project/app/Http/Controllers/CvsController.php on line 272 and defined
我应该如何调用该查询以获取所有 Cv 的文凭
,其中 'image'
不在 $request['test-diploma']
?
最佳答案
$cv->diplomas
在查询时自动调用 get()
,因此它返回一个集合。然后您再次调用 get()
,但是 Collection 方法 get()
需要一个参数。
您需要编写 $cv->diplomas()
(引用函数而不是属性)来获取查询,然后您可以在调用 get()
之前对其进行过滤>
$deletedDiplomas = $cv->diplomas()->whereNotIn('image', $request['test-diploma'])->get();
关于php - Laravel -> 根据模型的方法结果进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48305781/