/** * Run the database seeds. * * @return void */ public function run() { DB::table('tags')->truncate(); DB::table('taggables')->truncate(); factory(App\Associations\Tag::class, 10)->create(); foreach (Article::all() as $article) { $article->tags()->sync([rand(1, 10), rand(1, 10), rand(1, 10)]); } DB::table('images')->truncate(); DB::table('imagables')->truncate(); factory(App\Associations\Image::class, 10)->create(); foreach (Article::all() as $article) { $article->images()->sync([rand(1, 10), rand(1, 10), rand(1, 10)]); } DB::table('favourites')->truncate(); foreach (User::all() as $user) { $article = Article::find(rand(1, 10)); $article2 = Article::find(rand(1, 10)); Favourite::create(['user_id' => $user->id, 'favourable_id' => $article->id, 'favourable_type' => get_class($article)]); Favourite::create(['user_id' => $user->id, 'favourable_id' => $article2->id, 'favourable_type' => get_class($article2)]); // @todo: favourite a Product or two here } }
/** * Nice helper method to assign User Favourites. * @param Model $model * @return integer */ public function addFavourite($model) { return Favourite::create(['user_id' => $this->id, 'favourable_id' => $model->id, 'favourable_type' => get_class($model)]); }