laravelの便利なシード関数を使用してカスタムデータをテーブルに取り込もうとしています。代わりにFaker ImをSeederを使用して使用します。その結果、私は:Laravel5 JSON&Seederを使用してデータベースにフィードする
- '/ json /'フォルダを作成し、そこでJSONデータファイルを配置します。
- 最後に、シーダーでデータをJSONオブジェクト属性にマップしました。
ここは私のコードです。
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
class JsonTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$json = File::get("/json/cell-1.json");
$data = json_decode($json);
$array1 = $data->toArray();
foreach ($array1['products'] as $obj) {
DB::table('products')->insert(array(
'id' => $obj->id,
'name' => $obj->productName,
'sku' => $obj->productSku
));
foreach ($data['relatedProducts'] as $obj) {
DB::table('products_related')->insert(array(
'sku' => $obj->sku
));
}
}
}
}
しかし、私は、例えば、さまざまなエラーを受け取る:私は使用していけない場合は、未定義のメソッドはstdClassに
コール::のtoArray()
は、(配列としてのタイプはstdClassのオブジェクトを使用することはできません$ array1 = $ data-> toArray();そして$ dataを直接使用してください。
助けてください。
私が知ることができ、どこにあなたのJSONファイルを入れたのですか?私は私のjsonのデータを播種することはできません –