我想更新自定义时间戳字段,因此编写了此函数
public function touchDelivery() {
$this->delivery = $this->freshTimestamp();
return $this->save();
}
public function pushSuccess($id) {
return Message::where('id', '=', $id)->touchDelivery();
}
但是当执行Laravel抱怨时:
调用未定义的方法Illuminate \ Database \ Query \ Builder :: touchDelivery()
答案 0 :(得分:1)
我猜这个代码在你的Eloquent文件中。
return Message::where('id', '=', $id)->touchDelivery();
首先,您需要获取所有消息,然后对于每条消息,您需要调用该方法。这样的事情。
public function pushSuccess($id) {
$messages = Message::where('id', '=', $id)->get();
foreach($messages as $message)
$message->touchDelivery();
...
}
请告诉我这是否适合您。