2015-07-23 8 views
5

Utilizzo il Serverfireteam LaravelPanel (che utilizza zofe/rapyd-laravel ). Ho creato un controller crud per un'entità. Questa entità ha una chiave esterna in un'altra tabella. Ora voglio mostrare un completamento automatico per questa chiave esterna ma mostra solo una selectbox vuota.Aggiunta di una selezione per oggetto chiave esterna serverfireteam/panel

il mio codice di controllo simile a questa:

public function edit($entity){ 

    parent::edit($entity); 
    $this->edit = \DataEdit::source(new \App\Regal()); 
    $this->edit->add('bezeichnung', 'Bezeichnung','text'); 
    $this->edit->add('nummer', 'Nummer','text'); 
    $this->edit->add('maxPaletten', 'Max Paletten je Ebene','text'); 
    $this->edit->add('anzahlEbenen', 'Anzahl Ebenen','text'); 

    $this->edit->add('kunde_id','Kunde','select')->options(\App\Kunde::lists("name", "id")); 


    return \View::make('regale.editPanel', array(
     'title'   => $this->entity , 
     'edit' => $this->edit 
     )); 


}  

E il mio modello file:

class Kunde extends Model { 

protected $table = 'kunden'; 
public function listPaletten(){ 
    return $this->hasMany('App\Models\Palette'); 
} 
public function listAdressen(){ 
    return $this->hasMany('App\Models\Adresse'); 
} 
public function listRegale(){ 
    return $this->hasMany('App\Models\Regal'); 
} 
public function listArtikel(){ 
    return $this->hasMany('App\Models\Artikel'); 
} 
} 

..

class Regal extends Model { 

protected $table = 'regale'; 

public function kunde(){ 
    return $this->belongsTo('App\Models\Kunde');   
} 
} 
+1

Può fornire qualche esempio output di '\ App \ Kunde :: lists (" nome "," id ")'? – maxwilms

+1

L'output è: oggetto (Illuminate \ Support \ Collection) # 365 (1) {["items": protected] => array (2) {[1] => string (7) "cookmal" [2] = > string (8) "schaumal"}} –

+2

Collegato! Secondo la documentazione di Laravel il metodo 'lists()' dovrebbe restituire un array e non una collezione. Probabilmente il cast della raccolta su un array aiuterebbe: '\ App \ Kunde :: lists (" name "," id ") -> toArray()'. – maxwilms

risposta

1

Si utilizza il metodo opzioni, il metodo opzioni viene utilizzato per selectbox.

Come si è spiegato nel document:

completamento automatico (campo di input con funzione di completamento automatico utilizzando Twitter typeahead e Ajax caratteristiche utilizzando relation.fieldname e di ricerca() metodo)

$this->edit->add('author.fullname', 'Author', 'autocomplete')->search(array('firstname', 'lastname')); 
Problemi correlati