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?"
  • Вопрос задан
  • 55 просмотров
Решения вопроса 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, либо вы вообще не понимаете, что пишете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы