2015-09-13 2 views
3

Я использую Laravel 5.1.Laravel 5.1 - Функция обновления релевантных отношений

У меня есть две стол, user стол и users_detail стол с oneToOne отношений. Я уже успел показать, что две таблицы данных в одну форму.

Теперь я хочу запустить функцию update в моем контроллере. Я уже знаю, как работать update функция в одиночная таблица в моем другом проекте. Может ли кто-нибудь из вас дать мне понять, как запустить update таблица в одном контроллере?

Нужно ли использовать эту функцию Laravel update()? или еще?

Я использую это на моем view:

... 
{!! Form::model($users, ['method' => 'PATCH', 'route' => 'dashboard.user.update', $users -> id]) !!} 
    <div class="form-group"> 
     {!! Form::label('User ID', 'User ID:') !!} 
     {!! Form::text('id', $users->id, $attributes = array('id'=>'disabledInput', 'Disabled', 'class'=>'form-control', 'placeholder'=>'User ID')); !!} 
    </div> 
... 
    <div class="form-group"> 
     {!! Form::label('Place Of Birth', 'Place Of Birth:') !!} 
     {!! Form::text('placeOfBirth', $users->UsersDetail->placeOfBirth, $attributes = array('class'=>'form-control', 'placeholder'=>'Place Of Birth')); !!} 
    </div> 
... 
... 
{!! Form::close() !!} 
... 

ответ

0

Наконец я нашел способ. Это было не так сложно, как я.

public function update(Request $request, $id) { 
    //   
    $usersUpdate = $request->all(); //get all value from form 

    $users = User::find($id); //find the primary key of User table 
    $usersDetail = UsersDetail::find($id); //find the foreign key UsersDetail table 

    $users->update($usersUpdate); //update the User table 
    $usersDetail->update($usersUpdate); //update the UsersDetail table 

    return redirect('dashboard/user'); 
} 
1

Heres - хороший трюк, чтобы сделать все в одной строке. associate() используется для обновления отношения belongsTo().

Он будет работать как этот

$user = User::find($id); 
    $record= new User_Detail($request->all()); 

    $record->user()->associate($user); 
    $record->save(); 

для многих многих отношениях вы можете использовать прикрепляются к синхронизации модели

Ill использовать статьи для этого примера.

$new_article = new Article($request->all()); 
    $new_article->save(); //I need to save it first so that we the article ID 

    Auth::user()->article()->attach($new_artcile->id); 
Смежные вопросы