2016-12-05 8 views
0

問題は、誰かが私に深刻なアイデアを与えることができる場合、どのようにクエリのデータを使用できるかわからないということです。私にエラーを与える:クエリからビューへのデータの受け渡し

マイコントローラー:

public function edit($id){ 
    $datosProfesor = DB::table('profesor')->where('id', $id)->get(); 
    $institucionDB = DB::table('institucion')->get(); 
    $datos = array('datosProfesor' => $datosProfesor, 'institucionDB' => $institucionDB); 
    return view('profesorView/editarProfesor', $datos); 
} 

マイビュー:

<div class="form-group"> 
    <h4>Nombre</h4> 
    <input type="text" name="nombre_profesor" id="nombre_profesor" class="form-control" placeholder= 'Nombre' value="{{$datosProfesor['id']}}"> 
</div> 

私に表示されるエラーはこれです:

Undefined index: id (View: /var/www/html/Konecte/resources/views/profesorView/editarProfesor.blade.php) 

答えて

0

get()メソッドは、それぞれの結果がPHP StdClassオブジェクトのインスタンスである結果を含むIlluminate\Support\Collectionを返します。あなたは、オブジェクトのプロパティとして列にアクセスすることで、各列の値にアクセスすることがあります。

foreach ($datosProfesor as $profesor) { 
    echo $profesor->id; 
} 

あなたが単一の結果を取得したい場合は、あなたのようにfind()メソッドを使用することができます。

ある
$datosProfesor = DB::table('profesor')->find($id); 

短い形式:

$datosProfesor = DB::table('profesor')->where('id', $id)->first(); 

あなたは変数とその値を含む配列を作成するためのPHPのcompact()メソッドを使用することができることをあなたのためにもう一つだけヒント。あなたが行

$datos = array('datosProfesor' => $datosProfesor, 'institucionDB' => $institucionDB); 

を取り除くことができるようにあなたの最終的なコードのようになります

public function edit($id){ 
    $datosProfesor = DB::table('profesor')->find($id); 
    $institucionDB = DB::table('institucion')->get(); 
    return view('profesorView/editarProfesor', compact('datosProfesor', 'institucionDB')); 
} 
関連する問題