1, 'is_hierarchy' => 1, 'is_restrict' => 0, 'has_dividend' => 0, 'has_dividend_price' => 0, 'has_dividend_rate' => 0, 'commission_rates' => 0 ]; public static function getGoodsByGoodsId($giidsId){ return self::where('goods_id', $giidsId)->where('is_dividend', '1'); } public static function relationSave($goodsId, $data, $operate) { if (!$goodsId || !$data) { return false; } $dividendModel = self::getModel($goodsId, $operate); //判断deleted if ($operate == 'deleted') { return $dividendModel->delete(); } $data['goods_id'] = $goodsId; if (!$data['has_dividend']) { $data['has_dividend'] = 0; } $data['has_peers'] = $data['has_peers'] ?: 0; $data['has_dividend_price'] = $data['has_dividend_price'] ? $data['has_dividend_price'] : 0; $data['has_dividend_rate'] = $data['has_dividend_rate'] ? $data['has_dividend_rate'] : 0; // foreach ($data['has_dividend_prices'] as $key => $has_dividend_prices) { // if (!$has_dividend_prices) { // unset($data['has_dividend_prices'][$key]); // } // } // foreach ($data['has_dividend_rates'] as $key => $has_dividend_rates) { // if (!$has_dividend_rates) { // unset($data['has_dividend_rates'][$key]); // } // } $data['has_dividend_prices'] = $data['has_dividend_prices'] ? serialize($data['has_dividend_prices']) : ''; $data['has_dividend_rates'] = $data['has_dividend_rates'] ? serialize($data['has_dividend_rates']) : ''; $data['has_hierarchys'] = serialize($data['has_hierarchys']); $data['has_dividend_extra'] = $data['has_dividend_extra'] ? serialize($data['has_dividend_extra']) : ''; $data['commission_rates'] = $data['commission_rates'] ? serialize($data['commission_rates']) : ''; $dividendModel->setRawAttributes($data); return $dividendModel->save(); } public static function getModel($goodsId, $operate) { $model = false; if ($operate != 'created') { $model = static::where(['goods_id' => $goodsId])->first(); } !$model && $model = new static; return $model; } public static function getGoodsSet($goodsId) { if (!$goodsId) { return ['is_dividend' => 1, 'is_hierarchy' => 0, 'has_peers' => 0, 'is_restrict' => 0]; } if ($model = static::where(['goods_id' => $goodsId])->first()) { return $model->toArray(); }; return ['is_dividend' => 0, 'is_hierarchy' => 0, 'has_peers' => 0, 'is_restrict' => 0]; } }