2 回答
TA贡献1802条经验 获得超6个赞
您可以whereHas为此使用。
从文档:
如果您需要更多功能,您可以使用 whereHas 和 orWhereHas 方法将“where”条件放在您的查询上。这些方法允许您向关系约束添加自定义约束,例如检查评论的内容
use Illuminate\Database\Eloquent\Builder;
// Retrieve posts with at least one comment containing words like foo%...
$posts = App\Post::whereHas('comments', function (Builder $query) {
$query->where('content', 'like', 'foo%');
})->get();
在你的情况下,它会是这样的:
use Illuminate\Database\Eloquent\Builder;
$input = 'laravel';
Post::whereHas('tags', function (Builder $query) use ($input) {
$query->where('name', 'like', '%' . $input .'%');
})->orWhere('name', 'like', '%' . $input . '%')->get();
TA贡献1776条经验 获得超12个赞
这应该有效:
$result = Post::whereHas('tags', function ($query) {
$query->where('name', 'like', '%laravel%')
->orWhere('tags.name', 'like', '%laravel%');
})->get();
- 2 回答
- 0 关注
- 136 浏览
添加回答
举报