2017-04-27 11 views
0

私はlaravel 5.4(在庫管理システム)で作業しており、新しい店舗を作成する際に動的テーブル手段テーブルを生成しています。各店舗にはstore_8_stockのようなIDを持つ独自の在庫表があります。私はStoreStockモデルを作成し、コントローラからテーブルを設定すると正常に動作していないその:$stock = $insertStock->where('item_id',$item['item_id'])->first();ためLaravel:コントローラから雄弁なモデルに `setTable`を設定できません

$storeId = $item['store_id']; 
unset($item['barcode']); 
TransferList::create($item); 
$insertStock = new StoreStock; 
$insertStock->setTable('store_'.$storeId.'_stock'); 
$stock = $insertStock->where('item_id',$item['item_id'])->first(); 
if($stock != null){ 
    $stock->qty = $stock->qty + $item['qty']; 
    $stock->save(); 
}else{ 
    unset($item['item_name']); 
    unset($item['store_id']); 
    $insertStock->create($item); 
} 

そのが正常に動作しますが、そのは$insertStock->create($item);に来たときにそのエラーを示すstore_stocks table or view not found

$項目は

array:11 [▼ 
    "barcode" => "8901023007446" 
    "item_id" => 2 
    "item_name" => "My new item" 
    "mrp" => 12.0 
    "sale_price" => 60.0 
    "purchase_price" => 50.0 
    "qty" => "2" 
    "free_item_name" => "" 
    "product_vat" => 0.0 
    "vat_status" => 0 
    "store_id" => "8" 
] 
が含まれています

私のコードで何が間違っているか教えてください。あなたはボンネットの下にcreateを使用する場合newInstance()方法が発射されると、モデルで定義されたオブジェクトの新しいインスタンスは、元の性質を持っているので

答えて

2

です。それを動作させるために

$insertStock->fill($item)->save(); 

おそらくあなたは、このような場合のために、このようなものを使用する必要があります。

+0

値を更新するときに同じエラーが表示されます。 –