Как я могу вставить (ID) URL-адрес в базу данных Laravel - PullRequest
1 голос
/ 13 апреля 2019

R: как я могу вставить (id) URL в базу данных Laravel

У меня есть URL :

http://127.0.0.1:8000/admin/question/1

Мне нужно сохранить id в базе данных

Маршрут

Route::get('/question/{id}', 'questionController@choseType');
Route::post('/question/createone', 'questionController@storeData');

Контроллер

    public function storeData(Request $request)
    {
        $this->validate($request,[
            'name'=>'required',
            'department_id'=>'required',
            'nameChoose.*'=>'required',
        ],[],[
            'name'=>'question',
            'department_id'=>'department name',
            'nameChoose'=>'nameChoose',
        ]);

        //here i want to save the id of this table to the question table 
        // which exist in URL
        $question_type = question_types::pluck('id')->first();

        $question = new questions();
        $question->name = $request->input("name");
        $question->department_id = $request->input("department_id");
        $question->question_type_id = $question_type;
        $question->save();

     }

любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 13 апреля 2019

Ваш вопрос не очень понятен. Я понял функцию @storeData, она создаст новый вопрос на основе полученного запроса. Насколько я понимаю, ваш /question/{id} маршрут служит для «выбора» типа вопроса перед публикацией самого вопроса. Правильно будет указать тип вопроса вместе с новым вопросом POST. В вашем Front вы должны сделать запрос GET, получив все доступные типы вопросов в вашей БД, и вместе с заявкой на создание нового вопроса вы отправите тип вопроса, ранее выбранный из тех, которые доступны в вашей БД.

@ Редактировать на основе комментария владельца вопроса:

Если вы редактируете свой маршрут к этому:

Route::post('/question/createone/{id}', 'questionController@storeData');

В вашем контроллере вы можете сделать это:

public function storeData(Request $request, $id) //the Id from the route
{
    $this->validate($request,[
        'name'=>'required',
        'department_id'=>'required',
        'nameChoose.*'=>'required',
    ],[],[
        'name'=>'question',
        'department_id'=>'department name',
        'nameChoose'=>'nameChoose',
    ]);

    $question = new questions();
    $question->name = $request->input("name");
    $question->department_id = $request->input("department_id");
    $question->question_type_id = $id; //The id from the route
    $question->save();

}

В любом случае, ваш маршрут /question/{id} изолирован от функции storeData.

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