【发布时间】:2021-07-16 07:31:29
【问题描述】:
我在 Laravel 中有一个自动完成搜索控制器,它对搜索控制器进行 ajax 调用:
public function autocomplete(Request $request)
{
$data = Subject::where('title', 'LIKE', $request->subject.'%')->take(8)->get();
$output = '<ul class="origin-top-right right-0 mt-2 w-56 shadow-lg bg-white ring-1 ring-black ring-opacity-5" style="display:block; position:relative; overflow-y: scroll;">';
if (count($data)>0) {
foreach ($data as $row){
$output .= '<li><button style="text-align: left;" class="w-full block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 hover:text-gray-900" role="menuitem">'.$row->title.'</button></li>';
}
}
else {
$output .= '<li><button style="text-align: left;" class="w-full block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 hover:text-gray-900" role="menuitem">'.'No results'.'</button></li>';
}
$output .= '</ul>';
return $output;
}
dev 数据库是 mysql,prod 是 pgsql,跟踪代码显示行 $data = Subject::where('title', 'LIKE', $request->subject.'%')->take(8)->get(); 在生产中返回空,但在开发中正确填写,我检查了我的 prod 数据库已正确播种并且主题模型工作正常,请帮助,谢谢!
【问题讨论】:
-
您能否分享错误或更多详细信息以提供适当的解决方案。
-
当然,谢谢,我用一个简单的 Country Autocomplete 重新创建了这个问题。这是 repo:github.com/vsahinid/laravel-autocomplete,这里是 heroku prod 服务器:autocomplete-laravel-prod.herokuapp.com。如果您克隆应用程序并在本地运行它,它可以工作,但是当您尝试从自动完成中选择一个国家时,它就不起作用了。
标签: php database heroku laravel-8 production