Как передать значение от контроллера в кнопке к следующему блейду? - PullRequest
0 голосов
/ 26 июня 2018

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

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 в блейде.

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

Ответы [ 3 ]

0 голосов
/ 26 июня 2018

проверьте, содержит ли переменная 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
0 голосов
/ 26 июня 2018

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

$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'));
0 голосов
/ 26 июня 2018

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

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

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

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

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

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