本文整理汇总了PHP中common\models\Product::findOrCreate方法的典型用法代码示例。如果您正苦于以下问题:PHP Product::findOrCreate方法的具体用法?PHP Product::findOrCreate怎么用?PHP Product::findOrCreate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common\models\Product
的用法示例。
在下文中一共展示了Product::findOrCreate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveProducts
public function saveProducts($products)
{
foreach ($products as $product) {
if (!$product['name']) {
continue;
}
$productModel = Product::findOrCreate(['shop_id' => $this->shop_id, 'name' => $product['name']]);
$productModel->product_unit_id = is_int($product['unit']) ? $product['unit'] : 1;
if (!$productModel->save()) {
throw new Exception(\Yii::t('backend', 'Cannot save product model'));
}
ProductPrice::updateIfRequired($productModel->id, $product['price']);
$receiptProduct = new ReceiptProduct();
$receiptProduct->receipt_id = $this->id;
$receiptProduct->product_id = $productModel->id;
$receiptProduct->count = (double) str_replace(',', '.', $product['count']);
$receiptProduct->total_price = (double) str_replace(',', '.', $product['totalPrice']);
if (!$receiptProduct->save()) {
throw new Exception(\Yii::t('backend', 'Cannot save {modelName} model', ['{modelName}' => get_class($receiptProduct)]));
}
}
return true;
}