gpt4 book ai didi

mysql - 从具有列外键的表中查询

转载 作者:行者123 更新时间:2023-11-29 11:05:51 25 4
gpt4 key购买 nike

我有表列表和城市,列表有一个城市关系。有 2 个输入,第一个输入是查看列表名称,第二个输入是查看城市名称。Listings 表有列 name 和 city_id。城市表有列 ID 和名称。

目标是在城市输入中查找列表。

当前查询如下所示

$listings = Listing::where('name', 'LIKE', '%'. $request->search. '%')->where('%'. $request->location. '%', 'LIKE', function($query){
$query->where(DB::raw('cities.name'));
})->paginate(10);

这给出了未知的错误列

SQLSTATE[42S22]: Column not found: 1054 Unknown column '%city input%' in 'where clause' (SQL: select count(*) as aggregate from listings where name LIKE %listing input% and %city input% LIKE (select * where cities.name is null))

有办法解决这个问题吗?

最佳答案

我认为whereHas就是您所需要的。

假设您的关系称为“城市”:

$listings = Listing::where('name', 'LIKE', '%' . $request->search . '%')
->whereHas('city', function($query) use($request) {
$query->where('name', 'LIKE', '%' . $request->location . '%');
})
->paginate(10);

关于mysql - 从具有列外键的表中查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41409915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com