sql >> データベース >  >> RDS >> Mysql

Laravel結合クエリAS

    paginate() メソッドの2番目のパラメータは配列を受け入れます クエリで選択するテーブル列の数。したがって、この部分:

    paginate(30, array('news.title, category.name'));
    

    次のようにする必要があります:

    paginate(30, array('news.title', 'category.name'));
    

    更新 (質問を変更した後)

    これを試してください:

    ->paginate(30, array('news.title', 'categories.name as category_name', 'users.name as user_name'));
    

    アップデート2 (質問を変更した後、もう一度)

    テーブルにもエイリアスを使用できます:

    $data = News::order_by('news.id', 'desc')
        ->join('categories', 'news.category_id', '=', 'categories.id')
        ->join('users as u1', 'news.user_id', '=', 'u1.id') // ['created_by']
        ->join('users as u2', 'news.modified_by', '=', 'u2.id') // ['modified_by']
        ->paginate(30, array('news.title', 'categories.name as categories', 'u1.name as creater_username', 'u2.name as modifier_username'));
    


    1. インデックス作成を使用したMYSQLデータベースの最適化

    2. MySQLオフセット無限行

    3. SQL Server(T-SQL)でデータベースメールプロファイルを更新する

    4. SQLWhere条件のある列で最小値の行のみを選択します