[英]Database Query not working as expected using eloquent commands for laravel
我正在尝试查询连接到模型“地址”的数据库,以查找与地址输入字段中的表单输入类似的任何地址。 我的模型代码是:
public function CheckForPrevious($verify)
{
$matches = \App\Address::where('address', 'like', '%'.$verify.'%')
->get();
foreach($matches as $match)
{
echo "$match";
}
}
我的控制器代码是:
public function show()
{
$address = new Address;
$check = $_POST['address'];
$address->CheckForPrevious($check);
return $address;
}
任何帮助将不胜感激
public function show()
{
$address = new Address();
$check = $_POST['address'];
$address->scopeCheckForPrevious($check);
}
公共函数scopeCheckForPrevious($ verify)
{
$query = App\Address::where('address', 'like', '%'.$verify.'%')
->get();
foreach($query as $match)
{
echo "$match";
}
}
用这个
你不必前缀scope
查询范围功能
更改
`$address->scopeCheckForPrevious($check)`
至
`$address->CheckForPrevious($check)`
无需访问示波器上不必要的模型
$query = App\\Address::where('address', 'like', '%'.$verify.'%')
尝试这样:
public function scopeCheckForPrevious($query, $verify)
{
return $query->where('address', 'like', '%'.$verify.'%');
}
并使用以下代码进行调用:
$address = new Address;
$check = $_POST['address'];
dd( $address->checkForPrevious($check)->get() );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.