【发布时间】:2018-11-22 04:24:42
【问题描述】:
我有一个功能。它具有需要执行的方法链接。
public function someFunction()
{
$query=$this->model;
$query->select($columns)
->skip($request->get('start') * $request->get('length'))
->take($request->get('length'))
->orderBy(
$request->get('sort_column'),
$request->get('sort_direction')
)
->get();
//Some other task
}
它工作正常,但我需要对该函数稍作修改我想要的是我想在该函数中传递一个连接以进行方法链接。
public function someFunction($join_as_parameter)
{
$query=$this->model;
$query->select($columns)
//Join should be executed here as a parameter in method chaning .
->skip($request->get('start') * $request->get('length'))
->take($request->get('length'))
->orderBy(
$request->get('sort_column'),
$request->get('sort_direction')
)
->get();
//Some other task
}
所以最终的函数执行会是这样的
public function someFunction($join_as_parameter)
{
$query=$this->model;
$query->select($columns)
->join('table','sometable.id', '=', 'other_table')
->skip($request->get('start') * $request->get('length'))
->take($request->get('length'))
->orderBy(
$request->get('sort_column'),
$request->get('sort_direction')
)
->get();
//Some other task
}
有没有办法做到这一点?任何帮助,将不胜感激。谢谢。
【问题讨论】:
-
$join_as_parameter的值是多少?是表名吗? -
我更新了问题
-
你已经回答了你的问题
-
是
$join_as_parameter是一组婴儿车作为'table', 'sometable.id', '=', 'other_table'还是整个join('table','sometable.id', '=', 'other_table')功能? -
或者你可以解释一下用例,有人可以提供更好的解决方案。
标签: php laravel method-chaining