2014-02-24 123 views
0

這是我的代碼:Laravel:如何更新「hasMany」相關模型?

<?php namespace Models; 

class CardBizSetting extends BaseModel { 

    protected $table = 'mp_member_biz_setting'; 
    public $timestamps = false; 
    public static $unguarded = true; 


    public function wechatUsers() { 
    return $this->hasMany('Models\WcMemberUser', 'bizid'); 
    } 

    public function exchangesHistories() { 
    return $this->hasMany('Models\WcMemberCashHistory', 'exchange_bizid'); 
    // ->where('exchange_wechat_id',$this->wc_openid); 
    } 

    public function chargeHistories() { 
    return $this->hasMany('Models\WcMemberCharge', 'charge_bizid'); 
    // ->where('charge_wechatid',$this->wc_openid); 
    } 

    // And this function doesn't work---> 
    public static function updateWechatUserStatus($bizid, $wechatopenid, $status) { 
    $user = self::find($bizid)->wechatUsers()->where('wc_openid', $wechatopenid)->first(); 
    if ($user) { 
     $user->update(array('wc_ustatus' => $status)); 
    } 
    } 
} 

這個功能不起作用

Models\CardBizSetting::updateWechatUserStatus(1,'www',1); 

所以,我的問題是如何更新的hasMany相關子模型? 非常感謝!

回答

1

我在方法updateWechatUserStatus中看不到任何錯誤。你有沒有檢查範圍wechatUsers是否回報你所期望的?嘗試調試你的代碼,你會看到問題來自哪裏。

+0

它的作品,但更新所有記錄 –

+0

明天我會更新我的問題,並邀請你問,謝謝 –