1. Go to this page and download the library: Download waad/laravel-model-metadata 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/ */
waad / laravel-model-metadata example snippets
use Waad\Metadata\Traits\HasOneMetadata;
class Company extends Model
{
use HasOneMetadata; // <--- Add this trait to your model
}
// Create metadata with array (only works if no metadata exists)
$company->createMetadata(['key' => 'value', 'another_key' => 'another_value']);
// Create metadata with collection
$company->createMetadata(collect(['key' => 'value']));
// Update existing metadata
$company->updateMetadata(['new_key' => 'new_value']);
// Delete the metadata
$company->deleteMetadata();
// Get metadata as array
$metadata = $company->getMetadata();
// Get metadata as collection
$metadataCollection = $company->getMetadataCollection();
use Waad\Metadata\Traits\HasManyMetadata;
class Post extends Model
{
use HasManyMetadata; // <--- Add this trait to your model
// Enabled Append id with content metadata (default)
public $metadataNameIdEnabled = true;
// Custom Append key of id with metadata (default)
public $metadataNameId = 'id';
}
// Create metadata with array or collection
$post->createMetadata(['key1' => 'value1', 'key2' => 'value2']);
$post->createMetadata(collect(['key1' => 'value1', 'key2' => 'value2']));
// Update metadata by ID
$post->updateMetadata('{metadata_id}', ['new_key' => 'new_value']);
// Delete metadata by ID
$post->deleteMetadata('{metadata_id}');
// Get all metadata objects
$metadata = $post->metadata;
// or
$metadata = $post->metadata()->get();
// Get metadata by ID
$metadata = $post->getMetadataById('metadata_id');
// Get all metadata column pluck as array
$allMetadata = $post->getMetadata();
// Get all metadata column pluck as collection
$metadataCollection = $post->getMetadataCollection();
// Search in metadata
$searchResults = $post->searchMetadata('search_term');