我有两个表格的2个模型
"会话"表:
session_id | user_id |其他领域
" usercash"表:
user_id |金额|其他领域
这两张桌子之间没有任何关系。
我收到session_id,我的目标是获得金额并更新它。 使用纯SQL可以通过user_id连接表,通过一个简单的查询轻松进行数量选择。
可以使用模型和条件生成一个查询,这样我就可以使用userCashModel-> save()来更新金额了吗?
目前正以这种方式对数据库进行2次查询:(
$session_model = Sessions::model()->findByAttributes(array('session_id'=>$session_id));
// updating the amount
$user_cash = Usercash::model()->findByAttributes(array('userId'=>$session_model->user_id));
$user_cash->realMoney += (double)$amount;
$user_cash->save();
答案 0 :(得分:0)
在yii1中你可以使用findBySql
$user_cash = Usercash::model()->findBySql(
" select * from usercash
innner join sessions on sessions.user_id = usercash.user_id
and sessions.session_id = :act_session_id", array(':act_session_id' => $session_id)
);