, это не работает.
ичок в Laravel. Я пытаюсь использовать Eloquent Model для доступа к данным в БД.
У меня есть таблицы, которые имеют общие черты, такие как имя таблицы.
Поэтому я хочу использовать одну модель для доступа к нескольким таблицам в БД, как показано ниже, но без везения.
Есть ли способ установить имя таблицы динамически?
Любые предложения или советы будут оценены. Заранее спасибо.
Модель:
class ProductLog extends Model
{
public $timestamps = false;
public function __construct($type = null) {
parent::__construct();
$this->setTable($type);
}
}
контроллер:
public function index($type, $id) {
$productLog = new ProductLog($type);
$contents = $productLog::all();
return response($contents, 200);
}
Решение Для тех, кто страдает той же проблемой:
Мне удалось изменить имя таблицы по предложению @Mahdi Younesi.
И я смог добавить, где условия, как показано ниже
$productLog = new ProductLog;
$productLog->setTable('LogEmail');
$logInstance = $productLog->where('origin_id', $carrier_id)
->where('origin_type', 2);