Я использую Laravel 5.8.
Мне нужно установить таблицу модели динамически, когда я определяю отношение в другой модели.
Модель \ App \ ProductAttribute может иметь другое имя таблицы, и я хотел бы определить динамически из модели продукта.
Я пробовал что-то (просмотреть комментарии), но это не сработало.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\ProductAttribute;
class Product extends Model
{
public function attributes(){
$table = $this->attribute_set->attribute_set_table;
// I've tried that but it doesn't work
// $instance = new ProductAttribute::class;
// $instance->setTable($table);
// return $this->hasOne( $instance );
// I've also tried that but it doesn't work
// return $this->hasOne( ProductAttribute::class )->with(['table' => $table]);
return $this->hasOne( ProductAttribute::class );
}
}