【问题标题】:Undefined property: Illuminate\Database\Eloquent\Builder::$where(city_id,1)未定义属性:Illuminate\Database\Eloquent\Builder::$where(city_id,1)
【发布时间】:2016-11-27 19:08:17
【问题描述】:

我正在尝试对我的搜索查询设置条件,当我使用此代码时出现此错误: 我的代码:

$condition = null;
foreach (session()->get('filters') as $items)`
{
    $condition .= "where(".$items['type'].",".$items['value'].")->";
}
$cars = Car::where('is_active','active')->$condition->get();

我的错误:

未定义属性:Illuminate\Database\Eloquent\Builder::$where(city_id,1)

【问题讨论】:

    标签: laravel


    【解决方案1】:

    如果您想向现有查询添加方法,请使用$query = Car::newQuery() 开始您的查询。然后只需将您的方法附加到该变量即可。

    $query = Car::newQuery();
    $query = $query->where('is_active', 'active');
    
    foreach (session()->get('filters') as $items) {
        $query = $query->where($items['type'], $items['value']);
    }
    
    $cars = $query->get();
    

    【讨论】:

      猜你喜欢
      • 2016-09-05
      • 1970-01-01
      • 2018-09-29
      • 2016-06-02
      • 1970-01-01
      • 2018-11-22
      • 2018-11-19
      • 2020-01-23
      • 2020-07-08
      相关资源
      最近更新 更多