我觉得标题很混乱,我会尽量解释这个。可以说我对搜索帖子有很大的疑问,如下所示:
$posts = Post::select('...')
->leftJoin('...')
->leftJoin('...')
->where('...')
->orWhere('...')
->orderBy('...')
->orderBy('...')
->groupBy('...')
->with('...')
->paginate(8);
如何拆分此查询?例如:
$posts = Post::select('...')
->leftJoin('...')
->leftJoin('...')
$posts->where('...')
->orWhere('...');
$posts->orderBy('...')
->orderBy('...')
->groupBy('...');
$posts->with('...')
->paginate(8);
我正在使用Laravel 4.2,我尝试了几件事(包括this post),但我无法让它工作。我需要这个来搜索和过滤帖子。
答案 0 :(得分:12)
首先创建模型的新实例并将其设置为变量,使用该变量构建查询,然后以get()
结束:
$posts = new Post;
$posts = $posts->where('...');
$posts = $posts->orWhere('...');
$posts = $posts->orderBy('...');
...
$posts = $posts->get();
但是,与其完成所有这些链接,您可以通过使用查询范围和一些结构良好的关系方法来简化操作。