File: D:/HostingSpaces/blijegasten/blijegasten.be/app/Komma/Shop/Products/Product/ProductTranslation.php
<?php
namespace App\Komma\Shop\Products\Product;
use App\Komma\Kms\Core\AbstractTranslationModel;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\SoftDeletes;
use Laravel\Scout\Searchable;
use TeamTNT\TNTSearch\Indexer\TNTIndexer;
/**
* App\Komma\Shop\Products\Product\ProductTranslation
*
* @property-read \App\Komma\Globalization\Languages\Models\Language $language
* @property-read \App\Komma\Shop\Products\Product\Product $translatable
* @mixin \Eloquent
* @property int $id
* @property int $product_id
* @property string $slug
* @property string $name
* @property string $subtitle
* @property string $description
* @property string $meta_title
* @property string $meta_description
* @property string $language_id
* @property \Carbon\Carbon|null $created_at
* @property \Carbon\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereDescription($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereLanguageId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereMetaDescription($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereMetaTitle($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereProductId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereSlug($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation wheresubtitle($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereUpdatedAt($value)
* @property string $subname
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereSubname($value)
* @property string $video
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Komma\Shop\Products\Product\ProductTranslation whereVideo($value)
*/
class ProductTranslation extends AbstractTranslationModel
{
protected $fillable = ['slug', 'title', 'description', 'meta_title', 'meta_description', 'language_id', 'product_id'];
use Searchable;
use SoftDeletes;
public function toSearchableArray()
{
return [
'id' => $this->id,
'name_trigram' => (new TNTIndexer)->buildTrigrams($this->name),
'name' => $this->name,
'description' => $this->description,
];
}
/**
* @return array
*/
public function getSpecs(): array
{
if(empty($this->specs)) return [];
return json_decode($this->specs);
}
public function translatable(): BelongsTo
{
return $this->BelongsTo(Product::class, 'product_id');
}
}