2014-02-24 88 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

明天我会更新我的问题,并邀请你问,谢谢 –