如何使用分页编写基于此查询的laravel模型?

时间:2017-04-03 06:11:56

标签: laravel laravel-5 laravel-5.2

for ($i = 0; $i < count($keyskill); $i++) {
                    if ($i == count($keyskill) - 1) {
                        $key .= "skills like '%" . $keyskill[$i] . "%' ";
                    } else {
                        $key .= "skills like '%" . $keyskill[$i] . "%' or ";
                    }
                }

听到我的查询

$jobs = DB::select("SELECT * from post where ( $key ) and status=1 order by id desc");

如何使用分页编写基于此查询的laravel模型???

3 个答案:

答案 0 :(得分:2)

Post::where('skills' , 'like' , '%php%')->orWhere('skills' , 'like' , '%javascript%')->where('status' , 1)->orderBy('id' , 'desc')->paginate(10);

答案 1 :(得分:1)

尝试使用动态数组:

Post::where(function ($query)  use ($keyskill) {
  for ($i = 0; $i < count($keyskill); $i++) {
                if ($i == 0) {
                    $query->where('skills' , 'like' ,"%$keyskill[$i]%");
                } else {
                     $query->orWhere('skills' , 'like' , "%$keyskill[$i]%");
                }
            }
})->where('status' , 1)->orderBy('id' , 'desc')->paginate(10);

答案 2 :(得分:0)

以下是将Post作为您的模型名称和页面大小50的Eloquent查询。

$posts = \App\Post::where('skills','like','%javascript%')
                  ->orWhere('skills','like','%php%')
                  ->where('status',1)
                  ->orderBy('id','desc')
                  ->paginate(50);

正在加载记录

$posts->items();

渲染刀片上的分页

{!! $posts->render() !!}

只是推荐 您的表格名称应为postspost,然后Laravel可以隐式管理它,但在您的情况下,您必须在模型中提及您的protected $table = 'post';的表名称> app / post.php 文件,请阅读更多here