2016-09-28 3 views
1

Ich habe Modell:Wie Daten an verwandte Tabelle in Laravel übergeben?

class Product extends Model 
{ 
    public function translate() 
    { 
     return $this->hasMany("App\ProductTranslate", "objectId", "id")->where('language', self::$language); 
    } 
} 

Wenn ich Daten in Tabelle hinzufügen Product I ProductTranslate Daten an nahe stehende Tabelle hinzufügen sollte.

Ich habe versucht, dies zu tun, wie:

$product = new Product(); 
$product->title = "Name"; 
$product->translate()->name = "Value" 

Antwort

0

Sie haben die hasMany Beziehung so, wenn Sie anrufen:

$product->translate()->get() 

oder

$product->translate 

Sie erhalten eine Eloquent erhaltenCollection von Objekten des Typs App\ProductTranslate, so dass Sie über sie wie folgt iterieren:

$product = new Product(); 
$product->title = "Name"; 
foreach ($product->translate as $translation) { 
    $translation->name = "Value"; 
} 
+0

Für das, was ich muss 'foreach 'Wenn es Notizen in der Tabelle gibt? – Babaev

+0

Wie gesagt ... Sie verwenden 'hasMany' Relation, die immer eine Sammlung von Modellen zurückgibt. Wenn du hier einen Fehler gemacht hast, kannst du es mit 'ansesTo' versuchen. Ich kenne deine Tischstruktur nicht. –

+0

Dann sollte ich verwenden: '$ product = new Product(); $ product-> mit ("translate")? ' – Babaev

0

Speicherobjekt in Array und dann Array übergeben

$all_data = array() 
for($i=0; $i< count($product); $i++) 
{ 
    $product = new Product(); 
    $product->title = "Name"; 
    $product->translate()->name = "Value"; 

    $all_data[$i] = $product; 
} 

Pass-Daten von der Steuereinheit anzuzeigen anzuzeigen

return view('admin.page')->with('all_data', $all_data) 

UI Teil

<table id="table-data" class="table table-bordered table-striped"> 
    <thead> 
    <tr> 
     <th width="5%" class="text-center">No.</th> 
     <th>Name</th> 
    </tr> 
    </thead> 
    <tbody> 
    <?php $i = 1; ?> 
    @foreach($all_data as $data) 
     <tr> 
     <td width="5%"><?php echo $i; ?></td> 
     <td>{{ $data->name }}</td>  
     </tr> 
    <?php $i++; ?> 
    @endforeach  
    </tbody> 
</table> 
Verwandte Themen