laravel 查询返回未定义

Posted

技术标签:

【中文标题】laravel 查询返回未定义【英文标题】:laravel query return Undefined 【发布时间】:2020-07-15 21:51:44 【问题描述】:

我用 3 个输入进行搜索,然后输入可以为空

我从前端获取变量

$addressSearch = $request->json()->get('addressSearch');
$typeSearch    = $request->json()->get('typeSearch');
$statusSearch  = $request->json()->get('statusSearch');

我使用查询中的函数进行此搜索

$property = Property::where('id', '1')
                      ->Where(function($query)
                       
                           $query->Where('type',typeSearch)
                                   ->orWhere('status',$statusSearch)
                                   ->orWhere('street','LIKE',"% $addressSearch%");
                        )
                        ->get();

我得到这个错误:

消息:“未定义的属性:App\Http\Controllers\PropertyController::$typeSearch

变量正常接收值

【问题讨论】:

第 4 行的 typeSearch 应该有 $ 符号,还要检查哪一行错误是指的 是的,但一直给我发送未定义的变量: 【参考方案1】:

您有类型错误,并且您没有将任何变量传递给闭包函数,因此它们无论如何都不存在:

$property = Property::where('id', '1')
                     ->where(function($query) use ($typeSearch, $statusSearch, $addressSearch)
                     
                          $query->where('type',$typeSearch)
                                ->orWhere('status',$statusSearch)
                                ->orWhere('street','LIKE',"%$addressSearch%");
                     )->get();

【讨论】:

以上是关于laravel 查询返回未定义的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 查询错误 - 调用未定义的方法 Illuminate\Database\Query\Builder::query()

laravel 数据库连接返回未定义的索引错误

数组长度在 Javascript 中返回未定义 - Laravel + Vue

为 Laravel 关系返回 null 而不是“调用未定义的关系”错误

未定义索引(Laravel)

Laravel 路由错误:路由 [登录] 未定义