私のコントローラには、このような機能があります。laravelで2つの異なるモデルを使用して2回クエリを実行しますか?
$validator = Validator::make($request->all(), [
'user_id' => 'required|numeric',
'role' => 'required',
'firstname' => 'required',
'middlename' => '',
'lastname' => 'required',
'phone_no' => 'required|digits:11',
'address' => 'required',
'city' => 'required',
'state' => 'required',
'bio' => 'required',
]);
if ($validator->fails()) {
return $validator->errors();
}
そして私はこのような(モデルを使用して)最初の更新クエリを持っている:
$user = User::find($request->user_id);
$user->firstname = $request->firstname;
$user->middlename = $request->middlename;
$user->lastname = $request->lastname;
$user->phone_no = $request->phone_no;
二つ目は次のように次の私は、データを送信するために、AJAXを使用
if($request->role == 'customer'){
$userInfo = Customer::where('user_id', $request->user_id);
$userInfo->address = $request->address;
$userInfo->city = $request->city;
$userInfo->state = $request->state;
$userInfo->bio = $request->bio;
}elseif($request->role == 'employer'){
$userInfo = Employer::where('user_id', $request->user_id);
$userInfo->address = $request->address;
$userInfo->city = $request->city;
$userInfo->state = $request->state;
$userInfo->bio = $request->bio;
}
if($user->save() && $userInfo->save()){
return response(array("status" => "success", 'statusCode' => 200, 'message' => 'Your Profile Was Updated'))->header('Content-Type', 'application/json');
}
コントローラ。私はそれがこのエラーを表示し、更新ボタンをクリックすると、しかし:未定義のメソッドを照らし\ Databaseへ
BadMethodCallException in Builder.php line 2451:
コール\クエリー\ビルダー::(保存)
私はこのエラーを取得しておきます。これをどうやって解決するのですか?
私はコードの行を修正し、正常に動作しています。 'isset()'がより役に立ちます。ありがとう –