mysql - 带有 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 没有问题
解决方案
对于派生列,您必须使用having()
:
->having('x', '<', 24)
推荐阅读
- c - 如何连接 KEYPAD-SMALLCALC 和 LCD
- python - 如何在这个基于文本的冒险游戏中应用 while 循环,当给出错误答案时,要求输入的提示会重复?
- css - 如何将 div 屏蔽到其父尺寸?
- mule - 在dataweave 2.0中访问reduce函数内项目的索引
- c++ - std::map 键类型的严格弱排序概念
- jmeter - 在 Jmeter 中的线程之间传递属性
- python - 数据框:列表中的行内容部分文本匹配,创建新列
- javascript - 如何在 Node.js 后的表单数据中获取额外的表单字段
- laravel - 在 Laravel 中保存电子邮件 HTML
- node.js - HTTP 获取 | 来自无服务器的 POST 给出超时错误并且不返回任何内容