Как передать значение от контроллера в кнопке к следующему лезвию?

Я хочу передать значение из этого контроллера:

public function show($id)
{
  $data_show = DB::select("SELECT * FROM staffs WHERE id = ?", [$id]);
  $data_profil = DB::select("SELECT id FROM staffs WHERE id = ?", [$id]);
  return view('keluarga.index', compact('data_show', 'data_profil'));
}

Передача значения этому клинку:

<div class = "row">
  <div class = "form-group">
      <!--add new button  -->
      <div class = "col-lg-2">
          {!! Form::open(['route' => 'addkeluarga_form', $data_profil->id]) !!}

          {{ Form::submit('Add New', ['class' => 'btn btn-primary']) }}

          {!! Form::close() !!}
      </div>
      <!-- show all button -->
      <div class = "col-lg-1">
          {{ Form::submit('Delete', ['class' => 'btn btn-danger']) }}
      </div>
      <div class = "col-lg-1">
          {{ Form::submit('Cancel', ['class' => 'btn btn-warning']) }}
      </div>    
  </div>
</div>

Это кнопка добавления новой, которая переносит идентификатор персонала в добавление нового лезвия. Но он не может прочитать значение id в лезвии.

Как это исправить?

Вероятно, вы захотите сохранить это в переменной сеанса. См. laravel.com/docs/5.6/session

mankowitz 26.06.2018 04:28
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
1
47
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Было бы проще написать

$data_profil = DB::table("staffs")->select("id")->whereId($id)->first();

НО это не имеет никакого смысла, поскольку у вас уже есть $ id в вашем контроллере. Нет смысла снова извлекать его из БД.

Передайте $ id в шаблон и используйте его вместо

возвратный вид ('keluarga.index', compact ('data_show', 'id'));

синтаксис выбора работает ... только эта кнопка не читает значение

joun 26.06.2018 04:27

{!! Form :: open (['route' => 'addkeluarga_form', $ data_profil-> id]) !!} этот код не может прочитать значение массива

joun 26.06.2018 04:27

$ data_profil - это коллекция. Следует использовать -> first () или что-то еще, чтобы сузить результаты до одного. Я обновлю свой ответ

mikro 26.06.2018 04:32

Благодарность! Как я хочу передать идентификатор в шаблон ... извините за глупый вопрос. Я начинающий...

joun 26.06.2018 04:51

взгляните на ответ: просто сожмите его и верните в вид

mikro 26.06.2018 04:57

проверьте, содержит ли переменная data_profil ваше ожидание, используя метод print_r (). т.е.

$data_profil = DB::select("SELECT id FROM staffs WHERE id = ?", [$id]);
print_r($data_profil);//you will comment this out latter

проверьте в верхней части страницы содержимое вашей переменной, если вы видите вывод вложенного массива, например Array ( [0] => stdClass Object ( [id] => 1 , ...)), тогда вы можете захотеть сослаться на свою переменную как на массив в вашем шаблоне. т.е.

$data_profil[0]->id

спасибо за то, что поделились ... я буду использовать ваш метод в другой функции. большое тебе спасибо

joun 26.06.2018 05:07

Для первого запроса получить весь столбец, и для второго запроса я не думаю, что вам нужно получить идентификатор, поскольку у вас уже есть идентификатор.

$data_show = DB::table("staffs")->where('id',$id)->first();
$data_profil = $data_show->id;
OR
$id = $id; // As the same id it will return

return view('keluarga.index', compact('data_show', 'data_profil','id'));

Другие вопросы по теме