0
这是我的用户表 这是我的留言表 如何找到从消息表最后一条消息,也找到了用户
现在我获得成功用这个查询得到最后一条消息
enter code here
$coreQueryUser = $this->Message->query('
select m.*
from
messages m
inner join (
select max(id) as maxid
from messages
where messages.list_id = 3
group By (if(sender_id > reciever_id, sender_id, reciever_id)),
(if(sender_id > reciever_id, reciever_id, sender_id))
) t1 on m.id=t1.maxid
');
当我运行这个查询时,它给了我foll由于输出: -
enter code here
<pre>Array
(
[0] => Array
(
[m] => Array
(
[id] => 2
[sender_id] => 10
[reciever_id] => 21
[list_id] => 3
[message] => hello sir
[add_date] => 2016-09-25 08:24:38
[is_check] => 0
)
)
[1] => Array
(
[m] => Array
(
[id] => 7
[sender_id] => 10
[reciever_id] => 22
[list_id] => 3
[message] => hmm
[add_date] => 2016-09-27 00:00:00
[is_check] => 0
)
)
)
现在您在第一阵列的输出中看到SENDER_ID = 10和reciver_id = 21 和LIST_ID = 3 列表由用户i希望获取其编号为10的输出产生用户ID为21的用户数据。请记住,当接收者将消息发送给发件人时,ID正在交换。在这种情况下我也想的用户ID的数据是21
请帮我:(
请,这是{the_current_year}的解决方案,不直接将数据添加到查询中,始终使用绑定!此代码要求SQL注入攻击。 – ndm
感谢您的建议,请您提供从sql注入安全的代码 – kunal
http://book.cakephp.org/2.0/en/models/ retrieveing-your-data.html#prepared-statements,或将参数作为第二个参数传递给query()方法。 – ndm