laravel - 如何使用 id 搜索与 laravel 中的另一列有关系?
问题描述
这个想法是我有两张桌子。第一个被称为service
,第二个被称为card
。在两个表之间,通过表service_id
上的列存在关系card
。我想检索与具有特定名称的服务相关的所有卡片。
我的错误代码:
$data = request()->get('s');
$search = card::where('service_id', 'like', "%{$data}%")
->paginate($this->paginateNum);
我该怎么做 ?
解决方案
您正在寻找whereHas($relation, $callback)
,它可以让您搜索相关表:
$data = request()->get('s');
$search = card::whereHas('service', function ($query) use ($data) {
$query->where('name', 'like', "%{$data}%");
})->paginate($this->paginateNum);
推荐阅读
- node.js - 在 WSL2 中运行时无法从浏览器访问 Express 服务器
- python - 为什么在抓取linkedin时网页没有加载?
- html - 如何为矩形元素CSS添加圆角帽形
- c - 解释为什么while循环没有检查条件?
- bash - 如何在我自己的脚本选项中使用 bash `compgen`?
- laravel - 创建一个 .txt 文件并将其存储在 Laravel 的特定文件夹中
- javascript - 转轮结果已被控制
- timer - 使用 ATmega48PA 中断时的未定义行为
- python - 尝试导入决策树分类器时出错
- python - 问题添加条件以无限滚动 - Python