как найти, обновить и вернуть коллекцию объектов в Laravel? - PullRequest
0 голосов
/ 05 августа 2020

как вернуть объект в 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

1 Ответ

2 голосов
/ 05 августа 2020

Для первой проблемы вы можете использовать Laravel tap() вспомогательную функцию, например,

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,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...