首页 > 解决方案 > 如何在 Laravel 中查找、更新和取回对象集合?

问题描述

查找和更新时如何在 Laravel 中获取对象,而不仅仅是整数?

$updatedCompProd = CompanyProduct::where('subscription_id', $stripeSub->id)
   ->update([
             'subscription_status'=>2,
             'subscription_end_datetime'=>Carbon::parse($stripeSub->current_period_end)->format('Y-m-d H:i:s')
]);

$updatedCompProd 是值为 1 的整数

标签: laravel

解决方案


对于第一个问题,您可以tap()像这样使用 Laravel 辅助函数

tap(CompanyProduct::where('subscription_id', $stripeSub->id)->first(), function (CompanyProduct $companyProduct) use ($stripeSub) {
   $companyProduct->update([
       'subscription_status'=>2,
       'subscription_end_datetime'=>Carbon::parse($stripeSub->current_period_end)->format('Y-m-d H:i:s')
   ]);
});

它将返回更新的对象,您可以阅读Tap

另一个解决方案

$updatedCompProd = CompanyProduct::where('subscription_id', $stripeSub->id)->first();

$updatedCompProd->update([
             'subscription_status'=>2,
             'subscription_end_datetime'=>Carbon::parse($stripeSub->current_period_end)->format('Y-m-d H:i:s')
]);

dd($updatedCompProd); // it will work also,

推荐阅读