public static function create(array $attr = []) { if (isset($attr['features']) && is_array($attr['features'])) { $attr['features'] = json_encode($attr['features']); } return parent::create($attr); }
public static function create(array $attr = []) { if (!isset($attr['user_id']) && isset($attr['user'])) { $attr['user']['role'] = @$attr['user']['role'] ?: 'person'; $user = User::create($attr['user']); unset($attr['user']); $attr['user_id'] = $user->id; } return parent::create($attr); }
public static function create(array $attr = [], $normal = true) { $role = $normal ? 'Business' : 'Non Profit'; if (!isset($attr['user_id']) && isset($attr['user'])) { $attr['user']['role'] = $role; $user = User::create($attr['user']); unset($attr['user']); $attr['user_id'] = $user->id; } return parent::create($attr); }
public static function create(array $options = []) { #separate order details $details = []; if (isset($options['details'])) { $details = $options['details']; } if (isset($options['detail'])) { $details[] = $options['detail']; } unset($options['detail'], $options['details']); $order = parent::create($options); if (count($details)) { $order->inDetail()->saveMany(OrderDetail::createModels($details)); } return $order; }
/** * Create one or more notices. * If user and sender are the same, this notices will be ignored. * * @param array $attr attributes * @return Model|Collection element(s) created * * optional: * @attribute users : array with 2 users, notice to both users, sender and receiver * @attribute user_ids : send a notice from sender to all that user receivers */ public static function create(array $attr = []) { if (!isset($attr['status'])) { $attr['status'] = 'new'; } $notices = []; if (isset($attr['users'])) { if ($attr['users'][0] == $attr['users'][1]) { return new Collection(); } $user = $attr['users']; unset($attr['users']); return self::createMany([$attr + ['user_id' => $user[0], 'sender_id' => $user[1]], $attr + ['user_id' => $user[1], 'sender_id' => $user[0]]]); } elseif (isset($attr['user_ids'])) { $users = $attr['user_ids']; unset($attr['user_ids']); foreach ($users as $user) { $notices[] = $attr + ['user_id' => $user]; } return self::createMany($notices); } else { return $attr['user_id'] == $attr['sender_id'] ? null : parent::create($attr); } }