PHP code example of mrnewport / laravel-priceable
1. Go to this page and download the library: Download mrnewport/laravel-priceable library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mrnewport / laravel-priceable example snippets
return [
'auto_load_migrations' => false,
'fallback_to_default_price' => true,
'throw_exception_if_no_price_found' => false,
'default_currency' => 'USD',
];
use MrNewport\LaravelPriceable\Models\Traits\Priceable;
class Product extends Model
{
use Priceable;
// Your other model code
}
$product = Product::create([...]);
// For 1-9 units
$product->prices()->create([
'min_quantity' => 1,
'max_quantity' => 9,
'unit_price' => 100.00, // $100
]);
// For 10+ units (no upper bound)
$product->prices()->create([
'min_quantity' => 10,
'max_quantity' => null,
'unit_price' => 80.00, // $80
]);
use MrNewport\LaravelPriceable\Models\PriceList;
$vipList = PriceList::create([
'name' => 'VIP',
'description' => 'VIP Price List',
]);
// Assuming $user is an instance of your User model
$vipList->users()->attach($user->id);
$product->prices()->create([
'price_list_id' => $vipList->id,
'min_quantity' => 1,
'max_quantity' => null,
'unit_price' => 60.00,
]);
use MrNewport\LaravelPriceable\Models\PriceScope;
$scopedPrice = $product->prices()->create([
'min_quantity' => 1,
'max_quantity' => null,
'unit_price' => 95.00,
]);
// Attach scope region=US
$scopedPrice->scopes()->create([
'scope_type' => 'region',
'scope_value' => 'US',
]);
$price = $product->priceFor(10, $user, ['region' => 'US']);
$quantity = 12;
$user = auth()->user(); // or any user instance
$scopes = ['region' => 'US', 'channel' => 'B2B'];
$price = $product->priceFor($quantity, $user, $scopes);
use MrNewport\LaravelPriceable\Facades\Priceable;
$price = Priceable::getPrice($product, 12, $user, ['region' => 'US']);
use function MrNewport\LaravelPriceable\Support\price_for;
$price = price_for($product, 12, $user, ['region' => 'US']);
$product->prices()->create([
'min_quantity' => 1,
'max_quantity' => 9,
'unit_price' => 100.00,
'valid_from' => now()->startOfMonth(),
'valid_to' => now()->endOfMonth(),
]);
bash
php artisan vendor:publish --provider="MrNewport\LaravelPriceable\Providers\PriceableServiceProvider" --tag=config
php artisan vendor:publish --provider="MrNewport\LaravelPriceable\Providers\PriceableServiceProvider" --tag=migrations
bash
php artisan migrate
src/config/priceable.php