Missing Request Laravel?

Добрый день!
Есть вот такой роут.
Route::get('create-form-edit-user', 'UserController@createFormEditUser')->name('createFormEditUser');

Этот роут возвращает представление с данными пользователя
public function createFormEditUser(Request $request) {
        $id = $request->get('id');
        $user = User::find($id);
        return view('pmo.users.modal-edit',['user' => $user]);
    }


Данное представление отображается как модальное окно при помощи jquery confirm. Класс edit-user есть ссылка
$('.fixed-table-body').on('click', '.edit-user', function(e) {
            e.preventDefault();
            formEditUser.url = $(this).attr('href')
            formEditUser.open()
        });


Контроллер принимает Request, но при нажатии (я так понимаю) jquery confirm не передает Request. Как это можно исправить?

Есть также другой способ. Я использую бустрап тейбл, и чтобы добавить мне ссылку, я использую это
<th data-field="id" data-formatter="LinkFormatter">Actions</th>

function LinkFormatter(value, row, index) {
  return "<a href='"+row.url+"'>"+value+"</a>";
}


Я думал использовать вот так
Route::get('create-form-edit-user/{id}', 'UserController@createFormEditUser')->name('createFormEditUser');

function LinkFormatter(value, row, index) {
  return "<a href='"{{route('createFormEditUser, ['id' => ???]')}}"'>"+value+"</a>";
}

А вот тут возникает вопрос: "Как можно передать значение из js в php?"
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Request $request - это объект запроса, его Laravel автоматически вам передаст, если вы в параметрах его указали.

formEditUser.url = $(this).attr('href') - здесь у вас в адресе должен быть указан get-параметр id и тогда всё будет работать. Откуда вам брать этот id пользователя из вопроса непонятно.

P.S.
function LinkFormatter(value, row, index) {
  return "<a href='"{{route('createFormEditUser, ['id' => ???]')}}"'>"+value+"</a>";
}

Здесь для конкатенации используется плюс, что говорит о том, что это javscript. Но при этом вы используете серверную функцию route() (если у вас не подключен laroute, конечно), а главное - формат шаблона blade. Либо у вас по совпадению на фронте шаблонизатор с тем же форматом и есть функция генерации url по параметрам роута Laravel, либо вы вообще не понимаете, что пишете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы