Пример #1
0
 public static function create(array $attr = [])
 {
     if (isset($attr['features']) && is_array($attr['features'])) {
         $attr['features'] = json_encode($attr['features']);
     }
     return parent::create($attr);
 }
Пример #2
0
 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);
 }
Пример #3
0
 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);
 }
Пример #4
0
 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;
 }
Пример #5
0
 /**
  * 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);
     }
 }