【发布时间】:2018-10-20 07:21:15
【问题描述】:
您好,我正在 Laravel 上构建一个简单的搜索功能,但出现错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'landmarks' in 'where clause' (SQL: select * fromlocationswhere exists (select * fromlandmarkswherelocations.id=landmarks.location_idandlandmarksLIKE %%))
我的搜索功能在我的视图中包含一个文本框,我想在单击搜索后在其下方显示结果。但是,在我的 SearchController 中,在我的索引函数中可以找到以下代码:
public function index(Request $request){
$landmarks = $request->input('location');
//if($landmarks != ''){
$locations = Location::whereHas('landmark', function($query) use ($landmarks) {
$query->where('landmarks', 'LIKE', '%' . $landmarks . '%');
})->get();
//}
return view('pages.search', compact('location'));
}
我怀疑是我的“位置”输入为空的问题。我不确定如何处理。
【问题讨论】:
-
是地标表吗?
-
是的,它是一张桌子——我的目标是能够在文本框中输入位置名称,然后必须显示地标的结果。关系已设置。
-
你必须在 where 中使用 column,而不是 table。