php - Laravel -> 根据模型的方法结果进行查询

标签 php mysql sql laravel

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

相关文章:

java - jpa/hibernate 如何通过带注释的外键映射元素集合

mysql - 如何对 SQL-Laravel 的所有聚合值求和?

php - 如何访问放置在站点根目录之外的文件?

php - Bootstrap 表单在移动端没有响应

mysql - 如何在不重启 MySQL 的情况下启用 MySQL 慢查询日志?

sql - 每天特定比萨饼地点的平均比萨饼订单-SQL

php - 如何将 MySQL 行折叠为列结果

php - 如何从 json 数据动态构建无序列表

类的 PHP PDO 对象无法转换为字符串

mysql sum 与 if 语句