2016-03-28 8 views
0

özel timestap alanını güncellemek ve bu nedenle yazdığı bu işleviÖzel bir zaman damgası alanı güncelleştirmek istediğiniz anlamlı

public function touchDelivery() { 
    $this->delivery = $this->freshTimestamp(); 
    return $this->save(); 
} 

public function pushSuccess($id) { 
    return Message::where('id', '=', $id)->touchDelivery(); 
} 

Ama yürütürken laravel yakınır:

Çağrı tanımsız yöntem Illuminate \ Database \ Sorgusuna \ Builder :: touchDelivery()

cevap

1

Bu kodun Eloquent dosyanızda olduğunu tahmin ediyorum. return Message::where('id', '=', $id)->touchDelivery();

ile ilgili bir sorun var. Önce tüm iletileri almanız ve her mesaj için yöntemi çağırmanız gerekir. Böyle bir şey.

public function pushSuccess($id) { 
    $messages = Message::where('id', '=', $id)->get(); 
    foreach($messages as $message) 
     $message->touchDelivery(); 
    ... 
} 

Bu iş sizin için uygunsa bana bildirin.

+0

Şimdi anladım! Harika. Teşekkürler! – sesc360