【发布时间】:2013-07-22 14:12:19
【问题描述】:
在下面的代码中,如果我删除“解决方法”,则找不到用户名列,如何在 get 命令之前设置别名?有窍门吗?
//Select
$qb = DB::table('log as l');
//Joins
$qb->join('user as u', 'l.user_id', '=', 'u.id');
//Orders
if($sort[0]["field"]=="user_name")// This is a workaround for my problem
$sort[0]["field"] = "u.name";
$qb->orderBy($sort[0]["field"],$sort[0]["dir"]);
//Wheres
Data::applyFilter($qb,$filters);
$total = $qb->count("l.id");
$qb->skip($skip)
->take($take);
$result = $qb->get(array("l.id", "l.action", "l.entity_type", "l.entity_id", "u.name as user_name", "l.datetime"));
【问题讨论】:
-
user_name来自查询之外。这不是一种解决方法。这是唯一的办法。
标签: sql laravel query-builder