Почему параметр из формы не передается контроллеру в laravel? - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу отправить форму с параметром для хранения контроллера, имея этот код в форме:

       {!! Form::open(['method' => 'POST', 'action' => ['Modul\KeluargaController@store', $getItemregistration->ItemRegistrationID]]) !!}

Затем я получаю параметр в контроллере магазина:

  public function store(Request $request, $id)
{
    $data = ['ItemRegistrationID' => $request->itemregistrationid,
             'SectionID' => $request->sectionid,
             'CategoryID' => $request->categoryid,
             'familyname' => $request->familyname,
             'kpfamily' => $request->kpfamily,
             'No_tel' => $request->No_tel,
             'Comments' => $request->Comments,
             'KategoriFamID' => $request->kategori_family,
             'majikan' => $request->majikan,
             'ulasan' => $request->ulasan,
             'PewarisID' => $request->kategori_pewaris,
             'no_akaun' => $request->no_akaun,
             'statusPengundiID' => $request->statuspengundi,
             ];

    $itemregistrationkeluarga = DB::table('itemregistrationkeluarga')->insert($data);

    if($itemregistrationkeluarga)

        return redirect()->route('viewProfil', ['id' =>$id]);

    else

        return redirect()->route('viewProfil', ['id' =>$id]);
}

Маршрут для контроллера keluarga следующий:

    //keluarga utama
Route::resource('keluarga', 'Modul\KeluargaController');

//view maklumat keluarga
Route::get('/view_keluarga/{id}', 'Modul\KeluargaController@show')->name('viewKeluarga');

//add maklumat keluarga kakitangan
Route::post('/add_keluarga/{id}', 'Modul\KeluargaController@create')->name('addKeluarga');

//edit maklumat keluarga kakitangan
Route::get('/edit_keluarga/{id}', 'Modul\KeluargaController@edit')->name('editKeluarga');

//delete ahli keluarga
Route::get('/delete_keluarga/{id}', 'Modul\KeluargaController@destroy')->name('deleteKeluarga');

Однако проблема заключается в том, что при отправке формы возникает эта ошибка:

Type error: Too few arguments to function App\Http\Controllers\Modul\KeluargaController::store(), 1 passed and exactly 2 expected

Похоже, что параметр $ id не получен из значения $ getItemregistration-> ItemRegistrationID в форме :: open.

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 09 ноября 2018

Открыть форму с именованным маршрутом гораздо проще.

{{ Form::open(['route' => ['addKeluarga' => $getItemregistration->ItemRegistrationID], 'method' => 'POST'])) }}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...