【发布时间】:2020-05-05 06:34:09
【问题描述】:
当用户提交表单时,我试图在 Laravel 中查询两个表。数据存储在事务表中,我还可以通过添加 $transactions->amt 和 $account->total 来更新 Account 表。
我试过这样做;
public function store(Request $request)
{
$account = DB::table('users')
->join('accounts', "users.id", '=', 'accounts.user_id')
->select('users.*', 'accounts.*')
->first();
$transaction = new Transaction();
$data = $this->validate($request, [
'baddress'=>'required',
'package'=>'required',
'amt'=>'required',
]);
$transaction->username = $account->username;
$transaction->baddress = $request->input('baddress');
$transaction->package = $request->input('package');
$transaction->amt = $request->input('amt');
$transaction->fund_option = "Fund";
$transaction->save();
$bal= $transaction->amt + $account->total;
$account->amt_paid = $bal;
$account->total = $bal;
$account->save();
return redirect('/transfer')->with('success', 'Transaction has been made');
}
但我收到了这个错误:
调用未定义的方法 stdClass::save()
我怎样才能找到最好的方法来做到这一点?
【问题讨论】:
-
而不是加入两个表来从用户那里获取帐户信息,而是按照 fabio 的回答 laravel.com/docs/7.x/eloquent-relationships#one-to-one 中的建议使用正确的模型关系属性@