$subscription_transaction_to_update = DB::table('subscription_transactions')->where('id', $currentSubscriptionTransaction->id)->first();
if (!is_null($subscription_transaction_to_update)) {
DB::table('subscription_transactions')->where('id', $currentSubscriptionTransaction->id)->update(
($currentSubscriptionTransaction->toArray()) // this has to be an array
);
}
use App\Models\SubscriptionTransaction;
$subscriptionTransactionToUpdate = SubscriptionTransaction::firstWhere('id', $currentSubscriptionTransaction->id);
if ($subscriptionTransactionToUpdate) {
$currentSubscriptionTransaction = new stdClass();
$subscriptionTransactionToUpdate->update(collect($currentSubscriptionTransaction)->toArray());
}
2条答案
按热度按时间aiazj4mn1#
试试这个:
使用
Eloquent Model
以更简洁的方式执行相同操作ej83mcc02#
嗯......也许,你应该更好地使用一些
helper functions
,比如collect()
和toArray()
?如果你的laravel版本是5.7,请参见https://readouble.com/laravel/5.7/en/helpers.htmlLaravel提供一些有用的方法或提示属于您的laravel应用程序版本。
例如,如果你使用一个DB表,这个框架在
Models/
下有model.php比如SubscriptionTransactions
那么,你能在下面试试这些代码吗?