繁体   English   中英

使用Laravel的雄辩命令,数据库查询无法正常工作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM