2014-09-28 12 views
7

sto usando laravel v 4.2 .. voglio creare record di aggiornamento. mi potete aiutare .. cosa c'è di sbagliato con questo codice ... questo è il mio codice:

MatakuliahsController.php

 
public function edit($id) 
    { 
     //$matakuliahs = $this->matakuliahs->find($id); 
     $matakuliahs = Matakuliah::where('id','=',$id)->get(); 

     if(is_null($matakuliahs)){ 
      return Redirect::route('matakuliahs.index'); 
     } 

     return View::make('matakuliahs.edit',compact('matakuliahs')); 
    } 

edit.blade.php

 
{{ Form::open(array('autocomplete' => 'off', 'method' => 'PATCH', 'route' => array('matakuliahs.update', $matakuliahs->id))) }} 
... 
{{ Form::close() }} 

L'errore è:

 
Undefined property: Illuminate\Database\Eloquent\Collection::$id (View: C:\xampp\htdocs\Laravel 4\projectLaravel\app\views\matakuliahs\edit.blade.php) 

grazie per la vostra attenzione e il vostro aiuto ..

risposta

0

Prova questo nel vostro metodo di controllo:

$matakuliahs = Matakuliah::find($id); 

E proprio lo passano alla vista.

19

Quello che stai cercando di ottenere è una relazione su una collezione di modelli, la relazione esiste sull'oggetto in quella raccolta. È possibile utilizzare prima() per restituire il primo o è necessario utilizzare ciclo per ognuno ottenere i loro articoli

$matakuliahs = Matakuliah::where('id','=',$id)->get()->first(); 
0
$matakuliahs = Matakuliah::where('id','=',$id)->get(); 

cambio una colllection di oggetto in cui l'id è pari a $ id. in questo caso sarà restituire un insieme di 1 elemento e non l'oggetto in sé, naturalmente, se l'id è unico, in modo che quando si fa:

$matakuliahs->id 

si sta triying per acess le proprietà id del $ matakuliahs oggetto ma il $ matakuliahs in questo caso non è un oggetto è una raccolta. Per risolvere questo problema si può fare:
1.

$matakuliahs = Matakuliah::where('id','=',$id)->get()->firts(); 

o

$matakuliahs = Matakuliah::where('id','=',$id)->first(); 

per ottenere l'oggetto e Acess le proprietà.

2. su di voi Vista:

@foreach($matakuliahs as $matakuliah) 
//your code here 
@endforeach 

speranza questo aiuto. grazie

Problemi correlati