Я хочу передать значение из этого контроллера:
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 в лезвии.
Как это исправить?






Было бы проще написать
$data_profil = DB::table("staffs")->select("id")->whereId($id)->first();
НО это не имеет никакого смысла, поскольку у вас уже есть $ id в вашем контроллере. Нет смысла снова извлекать его из БД.
Передайте $ id в шаблон и используйте его вместо
возвратный вид ('keluarga.index', compact ('data_show', 'id'));
синтаксис выбора работает ... только эта кнопка не читает значение
{!! Form :: open (['route' => 'addkeluarga_form', $ data_profil-> id]) !!} этот код не может прочитать значение массива
$ data_profil - это коллекция. Следует использовать -> first () или что-то еще, чтобы сузить результаты до одного. Я обновлю свой ответ
Благодарность! Как я хочу передать идентификатор в шаблон ... извините за глупый вопрос. Я начинающий...
взгляните на ответ: просто сожмите его и верните в вид
проверьте, содержит ли переменная 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
спасибо за то, что поделились ... я буду использовать ваш метод в другой функции. большое тебе спасибо
Для первого запроса получить весь столбец, и для второго запроса я не думаю, что вам нужно получить идентификатор, поскольку у вас уже есть идентификатор.
$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'));
Вероятно, вы захотите сохранить это в переменной сеанса. См. laravel.com/docs/5.6/session