Skip to main content

Black Friday 2025! Only until December 1st: coupon FRIDAY25 for 40% off Yearly/Lifetime membership!

Read more here

ammannbe/RecipeManager

37 stars
3 code files
View ammannbe/RecipeManager on GitHub

composer.json

Open in GitHub
{
//
"require": {
"php": "^7.4|^8.0",
//
"spatie/laravel-medialibrary": "^9.4"
},
//
}

app/Models/Recipes/Recipe.php

Open in GitHub
use Spatie\MediaLibrary\HasMedia;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\InteractsWithMedia;
 
class Recipe extends Model implements HasMedia
{
use InteractsWithMedia;
//
public function registerMediaConversions(Media $media = null): void
{
$this->addMediaConversion('thumbnail')
->width(200)
->height(200)
->sharpen(10);
 
$this->addMediaConversion('webp')
->format(Manipulations::FORMAT_WEBP);
}
//
}

app/Http/Controllers/Recipes/RecipePhotoController.php

Open in GitHub
use App\Http\Controllers\Controller;
use App\Models\Recipes\Recipe;
use App\Http\Requests\Recipes\RecipePhoto\Store;
use Spatie\MediaLibrary\MediaCollections\FileAdder;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
 
class RecipePhotoController extends Controller
{
public function store(Store $request, Recipe $recipe)
{
$this->authorize('update', $recipe);
$recipe->addAllMediaFromRequest()->each(function (FileAdder $fileAdder) {
$fileAdder->toMediaCollection('recipe_photos');
});
}
//
}

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.