首页 > 解决方案 > 我们如何处理 laravel 的 updateOrCreate 方法

问题描述

我正在使用 Laravel,我想在更新时返回消息并说它是更新但创建时什么也没发生

这是我的代码

  $shop =  UserPurchase::find($user_purchase_id)->shop;
    $shopOwner =  $shop->user;
    $product =  Product::find($product_id);
    $downloadLinkRequest = ProductDownloadStatus::updateOrCreate(
      ['product_id' => $product_id, 'user_purchase_id' => $user_purchase_id, 'shop_id' => $shop->id]);

      toastr()->success('درخواست شما با موفقیت ارسال شد و پس از بررسی توسط مدیر فروشگاه لینک جدید در همین صفحه قابل دسترسی میباشد', 'انجام شد');
      return redirect()->back();

我怎么知道它何时更新以及何时创建

标签: phplaravel

解决方案


您可以使用该wasChanged功能查看发生了什么。

就像是:

if($downloadLinkRequest-> wasChanged()){
//Show updated message
}

作为默认后备,您可以拥有已创建的消息。你不需要一个else


推荐阅读