sql >> Databasteknik >  >> RDS >> Mysql

Laravel gå med i frågor AS

paginate() Metodens andra parameter accepterar array tabellkolumner att välja i frågan. Så den här delen:

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

måste vara så här:

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

UPPDATERA (efter att du ändrat frågan)

Prova detta:

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

UPPDATERING 2 (efter att du ändrat frågan igen)

Du kan också använda alias på tabeller:

$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. Doctrine Query Language få max/senaste raden per grupp

  2. Beräkna decil från frekvens i MySQL

  3. Spara tidsstämpel i mysql-tabellen med php

  4. Kör MySQL INSERT Query flera gånger (infoga värden i flera tabeller)