Eloquent进行长时间的查询

时间:2018-04-14 11:42:16

标签: mysql laravel class phpmyadmin eloquent

如何使用多个where语句和orderby 2类型创建一个Eloquent查询并将其分页或限制?

PostIco::table('posts')
    ->where('listingType', '!=', 1)
    ->OrderBy('listingType', 'created_at')
    ->limit(25)
    ->paginate(10)

如何让它发挥作用?

2 个答案:

答案 0 :(得分:1)

PostIco是一个雄辩的模特吗?如果是这样,您就不会使用table方法。

PostIco::where('listingType', '!=', 1)
    // Instead of OrderBy
    ->orderBy('listingType', 'asc')
    ->orderBy('created_at', 'desc')
    ->limit(25)
    ->paginate(10);

您也可以使用DB facade:

执行此操作
DB::table('posts')
    ->where('listingType', '!=', 1)
    ->orderBy('listingType', 'asc')
    ->orderBy('created_at', 'desc')
    ->limit(25)
    ->paginate(10);

编辑:更正了orderBy语句

答案 1 :(得分:1)

您可以执行多个where子句:

PostIco::where('listingType', '!=', 1)->where('status', 1) // and you can add chain of wheres
->orderBy('listingType')
->orderBy('created_at', 'desc')
->limit(25)
->paginate(10);
// OR

PostIco::where('listingType', '!=', 1)->orWhere('status', 1) // and you can add chain of wheres and orWheres
->orderBy('listingType', 'asc')
->limit(25)
->paginate(10);