/** * @param array $fields * * @return Category */ public static function firstOrCreateEncrypted(array $fields) { // everything but the name: $query = Category::orderBy('id'); $search = $fields; unset($search['name']); foreach ($search as $name => $value) { $query->where($name, $value); } $set = $query->get(['categories.*']); /** @var Category $category */ foreach ($set as $category) { if ($category->name == $fields['name']) { return $category; } } // create it! $category = Category::create($fields); return $category; }
/** * */ public function createCategories() { $user = User::whereEmail('*****@*****.**')->first(); Category::create(['user_id' => $user->id, 'name' => 'DailyGroceries']); Category::create(['user_id' => $user->id, 'name' => 'Lunch']); Category::create(['user_id' => $user->id, 'name' => 'House']); Category::create(['user_id' => $user->id, 'name' => 'Delete me']); }