2015-07-23 17 views
5

Serverfireteam LaravelPanel'i kullanıyorum (zofe/rapyd-laravel kullanan ). Bir varlık için kaba bir kontrolör oluşturdum. Bu varlığın başka bir tabloya yabancı bir anahtarı vardır. Şimdi bu yabancı anahtar için bir otomatik tamamlama göstermek istiyorum ama sadece boş bir selectbox gösterir. BöyleYabancı anahtar nesnesi için bir seçim ekleme serverfireteam/panel

benim Kontrolör kod görünüm:

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 
     )); 


}  

Ve Modeli dosyaları:

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'); 
} 
} 

.. Sen seçenekleri yöntemini kullanan

class Regal extends Model { 

protected $table = 'regale'; 

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

(relation.fieldname ve arama() yöntemini kullanarak özellikleri twitter typeahead ve ajax kullanarak tamamlama özelliği ile birlikte giriş alanında)

otomatik tamamlama '\ App \ Kunde :: lists (" name "," id ")' nin çıkışı? – maxwilms

+1

Çıktı: object (Illuminate \ Support \ Collection) # 365 (1) {["items": protected] => array (2) {[1] => string (7) "cookmal" [2] = > string (8) "schaumal"}} –

+2

Kablolu! Laravel belgelerine göre '' list() 'yöntemi bir dizi değil, bir koleksiyon döndürmelidir. Koleksiyonu bir diziye yerleştirmek muhtemelen yardımcı olacaktır: '\ App \ Kunde :: lists (" name "," id ") -> toArray()'. – maxwilms

cevap

1

, seçenekler yöntem kullanılır selectbox.

o document açıklandığı gibi: Bazı örnek sağlayabilir

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