【发布时间】:2014-10-15 23:51:18
【问题描述】:
我有 2 个模型
卡车
class Truck extends \Eloquent {
// Add your validation rules here
public static $rules = [
'trucktype_id' => 'required',
'weight'=> 'required',
'truck_no'=> 'required'
];
// Don't forget to fill this array
protected $fillable = ['trucktype_id','weight','picture_path','remarks','truck_no'];
public function TruckType(){
return $this->belongsTo('TruckType','trucktype_id');
}
}
卡车类型
class Trucktype extends \Eloquent {
// Add your validation rules here
public static $rules = array(
'type' => 'required|unique:trucktypes,type',
'max_weight' => 'required'
);
// Don't forget to fill this array
protected $fillable = ['type','max_weight'];
}
我需要查找相关的表记录,即TruckType
$trucksobj = Truck::with('TruckType');
if($truck_no!="")
$trucksobj->where("truck_no",'=',$truck_no);
if($start_date!="" && $end_date!="")
$trucksobj->whereBetween('created_at', array($start_date, $end_date));
if($truck_type!="")
$trucksobj->where("trucktype_id",'=',$truck_type);
if($overweight=="on")
$trucksobj->where('TruckType.max_weight', '>=', 0);
但是上面的查询没有解析TruckType.max_weight并抛出以下错误
SQLSTATE[42S22]:未找到列:1054 'where 子句'中的未知列'TruckType.max_weight'(SQL:从trucks 中选择计数(*)作为聚合,其中TruckType.max_weight >= 0)
【问题讨论】:
-
在最后一个语句中使用
having而不是where怎么样? -
我没有在这里使用聚合函数..所以没有使用的意义
标签: mysql sql laravel laravel-4 eloquent