在寫進(jìn)銷存的時(shí)候,在入庫的時(shí)候需要把商品加到倉庫中。代碼如下
public function actionCreate()
{
$model = new Goods();
$model->sku = strtoupper(uniqid());
$model->datetime = time();
$model->admin_id = Yii::$app->user->id;
if ($model->load(Yii::$app->request->post())) {
$cost = $model->cost_price;
$number = $model->numbers;
$model->total = $cost * $number;
$models=ArrayHelper::toArray($model);
if ($model) {
$model->save();
$models->add($models);
return $this->redirect(['view', 'id' => $model->id]);
}
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
這是添加到入庫表的,$models->add($models);是添加到倉庫表模型層的方法
public function add($data)
{
foreach ($data as $k=>$v)
{
$asku = Warehouse::find()->where(['sku'=>$v['sku']])->one();
$askuCount = Warehouse::find()->where(['sku'=>$v['sku']])->count();
}
if (!$askuCount)
{
$Warehouse=new Warehouse;
$Warehouse->datetime=time();
$Warehouse->cid=$data['cid'];
$Warehouse->name=$data['name'];
$Warehouse->sku=$data['sku'];
$Warehouse->counts=$data['numbers'];
$Warehouse->price=$data['price'];
$Warehouse->flag=1;
$Warehouse->save();
}else{
$asku->counts += $data['numbers'];
$asku->timeLastOp=time();
$asku->save();
}
}
可以打印出數(shù)據(jù),但是不知道為什么添加之后不能再Warehouse這個(gè)表中添加數(shù)據(jù),有人知道嗎?剛用框架兩天,不是很懂。
- 6 回答
- 0 關(guān)注
- 648 瀏覽
添加回答
舉報(bào)
0/150
提交
取消