我有模特:
class Product extends Model
{
public function translate()
{
return $this->hasMany("App\ProductTranslate", "objectId", "id")->where('language', self::$language);
}
}
当我向表Product
添加数据时,我应该将数据添加到相关表ProductTranslate
。
我尝试这样做:
$product = new Product();
$product->title = "Name";
$product->translate()->name = "Value"
答案 0 :(得分:0)
你有hasMany
关系,所以当你打电话:
$product->translate()->get()
或
$product->translate
您将获得 Eloquent Collection
App\ProductTranslate
类型的对象,因此您可以像这样对它们进行迭代:
$product = new Product();
$product->title = "Name";
foreach ($product->translate as $translation) {
$translation->name = "Value";
}
答案 1 :(得分:0)
尝试此操作以插入相关模型。
$product = new Product();
$product->title = "Name";
$product->save();
$product->translate()->create([
'name' => 'Value'
]);
此外,文档非常擅长描述如何在此处附加相关模型。 https://laravel.com/docs/5.3/eloquent-relationships#inserting-and-updating-related-models
答案 2 :(得分:0)
将对象存储在数组中,然后将数组传递给视图
$all_data = array()
for($i=0; $i< count($product); $i++)
{
$product = new Product();
$product->title = "Name";
$product->translate()->name = "Value";
$all_data[$i] = $product;
}
将数据传递给控制器
查看return view('admin.page')->with('all_data', $all_data)
UI部分
<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>