2017-05-05 3 views
0

Laravelでは未加工のSQLクエリを使用しています。複雑なクエリを作成するのが最初より簡単だったので、そのように使用しました。RawクエリによるLaravelページ設定

今私は、ユーザ7のコメントの一覧を取得したい、と私はコメントをページ付けしたいと思い、5

に私が持っている何が:

$comments = DB::select(DB::raw("SELECT users.name, reviews.comment, reviews.comment_score FROM reviews JOIN users WHERE reviews.user_id = :logged_user;") 
    ,array('logged_user' => $user_id,)); 

だから、このクエリが依存ビューを参照しているユーザーに対して、変数を受け取ります。

私が見ているのは、Eloquentクエリによるものです。これについて明確な用法は見つかっていません。

最後の括弧の末尾に ' - > paginate(5)'を追加するか、後で$ comments-> paginate(5)のような変数に追加します。私が取得:

エラー:

この上のいくつかの光のアレイ

上のメンバ関数のpaginate()の呼び出し?

ありがとうございます! =)

答えて

0

あなたは改ページのためにこれをします。

$perPage = $request->input("per_page", 10); 
$page = $request->input("page", 1); 
$skip = $page * $perPage; 
if($take < 1) { $take = 1; } 
if($skip < 0) { $skip = 0; } 

$comments = DB::select(DB::raw("SELECT users.name, reviews.comment, reviews.comment_score FROM reviews JOIN users WHERE reviews.user_id = :logged_user;"),array('logged_user' => $user_id,)); 

$totalCount = $comments->count(); 
$results = $comments 
    ->take($perPage) 
    ->skip($skip) 
    ->get(); 
$paginator = new \Illuminate\Pagination\LengthAwarePaginator($results, $totalCount, $take, $page); 

return $paginator; 

希望すると助かります!

+0

うわー、私はこのようなトリックを思いついたことはありません。 =) 私には$ request変数がないので問題があります。 私は、1つのユーザーページの情報をまとめたウェルカムページを表示したいだけです。 結果:未定義の変数:リクエスト ありがとうございました! – ButterySAM777

+0

もしあなたが1人のユーザのためにあなたのコメントを改ページしたいなら、上記のコードにいくつかのtwiggingが必要であるか特定のユーザのためにdatatableを使うことができますコメントのページ番号 –

+0

私は知っていますが、$ perPageと$ page変数を取得する方法はわかりません。私は$ request変数を持っていません。 これらの2つの変数を初期化するにはどうすればよいですか? ありがとうございます。 – ButterySAM777

関連する問題