【发布时间】:2018-01-23 22:31:34
【问题描述】:
我的控制器中有以下代码:
for($i=0; $i<$number_of_tourists; $i++) {
$tourist = Tourist::updateOrCreate(['doc_number' => $request['doc_number'][$i]],
$tourist_to_update);
}
每次“updateOrCreate”工作时,它会做 3 件事中的 1 件事:
1) 更新模型实例或
2) 创建并保存一个新的或
3) 保持一切不变(如果具有此类值的模型已经存在)。
我需要检查 'updateOrCreate' 是否准确地完成了 1(更新),然后执行一些代码。
我该怎么做?
提前谢谢你!
【问题讨论】:
-
您可以使用
updated模型事件(仅在模型实际更新时触发),还是应该仅在这组特定代码更新模型时运行此额外代码? -
@patricus,谢谢!我使用了更新的模型事件,但我管理它只是为了做一些简单的事情,比如 public function handle(TouristUpdated $event) { dump($event); (这是我的听众的代码)。我不知道如何指示侦听器将一些逻辑添加到我的控制器中。逻辑实际上应该是创建一个包含所有触发“更新”事件的 $tourist_to_update 的数组。希望我解释清楚。
标签: laravel updates laravel-events