mysql - 如何在关系中使用多个“喜欢的地方” - Laravel
问题描述
我的数据库中有 4 个表。用户、用户详细信息、标签和可标记。通过使用用户表,我得到了用户以及用户详细信息和标签。以下是表架构
Table user:
id, name, email, password
Table user_details
user_id, about, vision, picture
Table tags:
id, name
Table taggables
user_id, tag_id
here is my query:
User::with('userDetails','tags')->get();
我想在用户名或标签名中使用 where like,如何在用户名和标签名中使用多个 where like ????
解决方案
你想要这样的东西吗?
$users= User::with('userDetails','tags')
->where('name', 'LIKE',"%{$search}%")
->orWhereHas('tags', function($query) use($search) {
$query->where('name','LIKE',"%{$search}%");
})
->get();
$search在这里是一个变量。
推荐阅读
- javascript - 如何替换本地化字符串的占位符
- c++ - 一个数的sqrt不能通过在线判断
- javascript - 如何在 Angular 应用程序中获取所有控制台错误消息
- java - JavaFX TabPane 标题 OverrunStyle
- javascript - 如何在javascript中使用values data-num html属性
- typescript - 条件返回类型
- build - Azure DevOps:执行期间在任务名称中显示参数值
- laravel - 如何在 Laravel Eloquent 中急切加载时获取多态关系类型?
- django - 如何修复 LNK1104:无法在 C++ 之外打开文件“MSVCRT.lib”
- symfony - Symfony 4 删除 cookie