我有一个查询,在PMA中正常工作,我试图将其转换为雄辩,但我必须缺少一些东西。 这里的SQL查询:laravel 5.1雄辩查询
SELECT t1.* FROM ppr__child_absence t1
LEFT JOIN ppr__children t3 ON t3.idcode=t1.child_idcode
WHERE t1.id = (SELECT t2.id FROM ppr__child_absence t2
WHERE t2.child_idcode = t1.child_idcode
ORDER BY t2.id DESC LIMIT 1)
AND t3.deleted_at IS NULL
AND $input BETWEEN start AND stop;
和HES是我的口才查询:
$input = Request::all();
$pprs =
DB::table('ppr__child_absence')
->join('ppr__children', function($join) {
$join->on('ppr__children.idcode', '=', 'ppr_children_absence.child_idcode')
->where('ppr__child_absence.child_idcode', '=', DB::raw('SELECT t2.id FROM ppr__child_absence t2
WHERE t2.child_idcode = ppr__child_absence.child_idcode
ORDER BY t2.id DESC LIMIT 1'));})
->whereNull('ppr__children.deleted_at')
->whereBetween($input, array('ppr_children_absence.start','ppr_children_absence.stop'))->get();
我不断收到错误: ErrorException在Grammar.php线58: 用strtolower()预计参数1字符串,数组给定。
这里有人能让我走向正确的方向吗? 基本上用户有1日期输入与日期选择器,并提交按钮来获得结果根据选择的日期。
工作查询这里出错误,但没有结果
$input = Request::all();
$pprs = DB::table('ppr__child_absence')
->select('ppr__child_absence.*')
->join('ppr__children', function($join) {
$join->on('ppr__children.idcode', '=', 'ppr__child_absence.child_idcode')
->where('ppr__child_absence.id', '=', DB::raw('SELECT t2.id FROM ppr__child_absence t2
WHERE t2.child_idcode = ppr__child_absence.child_idcode
ORDER BY t2.id DESC LIMIT 1'));})
->whereNull('ppr__children.deleted_at')
->where('ppr__child_absence.start', '<', $input['ppr_day'])
->where('ppr__child_absence.stop', '>', $input['ppr_day'])->get();
谢谢!我确实想念那个,但也有别的。我收到错误SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'2015-09-26'。它试图找到一列,并不认为它是一个日期。即使它在模型文件中声明。 $输入字段字段名称将是'ppr_day'。 – Merrant
还在DB :: table('ppr__child_absence')后添加了一行 - > select('ppr__child_absence。*') – Merrant