I have 3 tables Users, Languages and Language_User as shown below:
Users
id
name
...
Languages
id
language
Language_User
id
user_id
language_id
type('learn','native')
I would like to update language_id for both the type but depending on the type.
So, if $user = User::find($id); and type is native
enter language_id as 3
(let's say)
similarly, if type is learn
enter language_id as 4
(let's say) which comes from the form of type PATCH.
I dont get it how to use this and add extra check for type: $lang = User::find($id)->languages()->updateExistingPivot($languageId, $attributes);
OR
App\User::find(1)->languages()->save($language, ['language_id' => $learn]);
How to check for type in pivot table before overriding the data.
I tried this:
public function settings_update(Request $request, $id)
{
$rules = array(
'learn' => 'required',
'native' => 'required',
'search_status' => 'required'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect()->back()->withErrors($validator);
} else {
$user = User::find($id);
$user ->search_status = Input::get('search_status');
$user ->save();
$learn_id = Input::get('learn');
$teach_id = Input::get('teach');
$lang1 = User::find($id)->languages()->attach(6)->save();
$lang2 = User::find($id)->languages()->attach(1)->save();
return redirect('/users/settings');
}
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire