首页 > 解决方案 > 带有 Model::with 附加列的 laravel 问题

问题描述

我尝试使用 Model::with 添加附加列

$pitchChech =  Pitch::with(['prices'=>function ($query){
            $query->select('*',\DB::Raw("(select sum(HOUR(TIMEDIFF(valid_to ,valid_from))) from pitch_price as xpitch_price where pitch_id = pitch_price.pitch_id ) as x "))
            ->whereRaw(" x < ?",[24]);
        }])->get();
      dd($pitchChech);

我有这个输出

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'x' in 'where clause'  

我不明白我使用 laravel 5.1 有什么问题,但我认为 ut 没有问题

标签: mysqllaravellaravel-5.1laravel-query-builder

解决方案


对于派生列,您必须使用having()

->having('x', '<', 24)

推荐阅读