我有一个Illuminate \ Database \ Eloquent \ Builder实例,类似于:
$items = \Items::where('type', $type)->orderBy('order', 'asc');
之后如何通过只有$ items来访问“orderBy”子句?
我最终想要的是:
$orderBy = $items->orders;
var_dump($orderBy);
$ orderBy = array(2){ [0] => string(5)“order” [1] => string(3)“asc” }
感谢。
答案 0 :(得分:1)
感谢您提出这个问题。起初我觉得“没办法 - 不能做”。
但是我在Illuminate \ Database \ Eloquent \ Builder类中做了一些探索 - 事实证明你可以!泰勒没有想过什么?
$orderBy = $items->getQuery()->orders;
var_dump($orderBy);
您实际上可以获得查询的完整历史记录 - 这是我找到的列表
$aggregate = $items->getQuery()->aggregate;
$columns = $items->getQuery()->columns;
$distinct = $items->getQuery()->distinct;
$joins = $items->getQuery()->joins;
$limit = $items->getQuery()->limit;
$unions = $items->getQuery()->unions;
$from = $items->getQuery()->from;
$wheres = $items->getQuery()->wheres;
$groups = $items->getQuery()->groups;
$havings = $items->getQuery()->havings;
$offset = $items->getQuery()->offset;
$lock = $items->getQuery()->lock;