PHP code example of karlverger / laravel-own-assets

1. Go to this page and download the library: Download karlverger/laravel-own-assets 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/ */

    

karlverger / laravel-own-assets example snippets


$ php artisan vendor:publish --provider="Karlverger\\LaravelOwnAsset\\AssetServiceProvider" --tag=config

$ php artisan vendor:publish --provider="Karlverger\\LaravelOwnAsset\\AssetServiceProvider" --tag=migrations


use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Karlverger\LaravelOwnAsset\Traits\Asseter;

class User extends Authenticatable
{
    use Asseter;
    
    <...>
}

use Illuminate\Database\Eloquent\Model;
use Karlverger\LaravelOwnAsset\Traits\Assetable;

class Post extends Model
{
    use Assetable;

    <...>
}

$user = User::find(1);
$car = Car::find(2);

\Karlverger\LaravelOwnAsset\Asset  $asset = $user->asset($car);
$asset->addAssetProperty("clef 1","new value 1");
$asset->addAssetProperty("clef 2","new value 1");
$asset->deleteAssetProperty("clef 2");
$asset->getAssetProperty("clef 1")


$user->unasset($car);
$user->toggleAsset($car);
$user->getAssetItems(Car::class)

$user->hasAsseted($car); 
$car->isAssetedBy($user); 

foreach($car->asseters as $user) {
    // echo $user->name;
}

$user->getAssetItems(Car::class);

// Do more
$assetCars = $user->getAssetItems(Car::class)->get();
$assetCars = $user->getAssetItems(Car::class)->paginate();
$assetCars = $user->getAssetItems(Car::class)->where('make', 'Jaguar')->get();

\Karlverger\LaravelOwnAsset\Asset $asset = $car->assets()
  ->where("assetable_type",Car::class)
  ->where("assetable_id",$car->id)
  ->where("user_id",$user->id)->first();

// all
$user->assets()->count(); 

// with type
$user->assets()->withType(Car::class)->count(); 

// asseters count
$post->asseters()->count();

$users = User::withCount('assets')->get();

foreach($users as $user) {
    echo $user->assets_count;
}