🚀
Model Metadata
  • Introduction V2
  • Requirements
  • Installation
  • Basics
    • Simple Usage
    • HasOneMetadata
      • 😎Use in Model
      • 🎃Create Metadata
      • 🍕Get Metadata
      • ✅Has Metadata
      • 💫Update Metadata
      • ☂️Sync Metadata
      • 💣Delete Metadata
      • 🐙Forget Metadata
    • HasManyMetadata
      • 😐Use in Model
      • 🍔Create Metadata
      • 🍟Get Metadata
      • 🥊Search Metadata
      • 📭Has Metadata
      • 🪭Update Metadata
      • ⛱️Sync Metadata
      • 🪣Delete Metadata
      • 🧽Forget Metadata
Powered by GitBook
On this page
  • Setup
  • Custom Append ID with Run Time
  1. Basics
  2. HasManyMetadata

Use in Model

how to call trait inside model.

Setup


<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Waad\Metadata\Traits\HasManyMetadata;

class Post extends Model
{
    use HasManyMetadata;  // ----> use this trait
    
    // Enabled Append id with content metadata (default)
    public $metadataNameIdEnabled = true;

    // Custom Append key of id with metadata (default)
    public $metadataNameId = 'id';


    ..........
}

Custom Append ID with Run Time

Using example Get Metadata


// Enabled Append Id true
$model->setMetadataNameIdEnabled(true)->getMetadata();
/** will return:
* [
*     [
*        'id' => '01jj9s16xcze6byv94fv2f6gc5',   // <<<---------
*        'theme' => 'dark',
*        'language' => 'Arabic',
*     ],
*     [
*        'id' => '01jj9rwvm0g3sypyyb91v5x2gz',   // <<<---------
*        'theme' => 'light',
*        'language' => 'English',
*     ],
* ]
*/

// Enabled Append Id false
$model->setMetadataNameIdEnabled(false)->getMetadata();
/** will return:
* [
*     [
*        'theme' => 'dark',
*        'language' => 'Arabic',
*     ]
* ]
*/


// Enabled Append Id true and changed name of id
$model->setMetadataNameIdEnabled(true)->setMetadataNameId('no')->getMetadata();
/** will return:
* [
*     [
*        'no' => '01jj9s16xcze6byv94fv2f6gc5',    // <<<---------
*        'theme' => 'dark',
*        'language' => 'Arabic',
*     ]
* ]
*/


// Enabled Append Id false and changed name of id
$model->setMetadataNameIdEnabled(false)->setMetadataNameId('no')->getMetadata();
/** will return:
* [
*     [
*        'theme' => 'dark',
*        'language' => 'Arabic',
*     ]
* ]
*/
PreviousHasManyMetadataNextCreate Metadata

Last updated 4 months ago

😐