sql >> Database >  >> RDS >> Mysql

Laravel join-query's AS

paginate() de tweede parameter van de methode accepteert array aantal tabelkolommen om in de query te selecteren. Dus dit deel:

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

moet zo zijn:

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

UPDATE (nadat je de vraag hebt gewijzigd)

Probeer dit:

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

UPDATE 2 (nadat je de vraag opnieuw hebt gewijzigd)

Je kunt alias ook op tabellen gebruiken:

$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 Query gebruikt geen index in table join

  2. ODBC scalaire functies voor datum en tijd in SQL Server (T-SQL-voorbeelden)

  3. Uitzondering in thread main java.sql.SQLException:Toegang geweigerd voor gebruiker ''@'localhost' (met wachtwoord:NEE)

  4. MySQL update specifieke JSON-objecten in een array