I’m creating a chat service, I have 2 tables “chat” and “message”:
chat - contain the default data about the conversation
message - contain all the messages for a determined chat
I create a CRUD and on the index action I want to sort the all the chats by the last updated, to do that I need to check for each chat for the id on the message table.
Now I have a dataprovider like this:
$dataProvider = new ActiveDataProvider([
'query' => Chat::find(),
How can I get all the chats order by the messages ids?
For example I create the chat 1, chat 2 and chat 3 for this order. but is the chat 2 was the last to get an messages it will appear first on my list.
its very easy u can use join query nd then order by messageid.
I solve my problem with this guide - http://www.yiiframework.com/wiki/621/filter-sort-by-calculated-related-fields-in-gridview-yii-2-0/