У меня есть красноречивая модель, которая использует пользовательскую таблицу из пользовательской таблицы.
Вот так…
class Appointment extends Eloquent
{
public static $table = null;
public function __construct()
{
parent::__construct();
// Here I load the custom table, from the user table
// Pull the prefix of the table, and append
// This works perfectly fine for viewing the data
static::$table = Auth::user()->tenantTable()."_appointments";
}
public static $connection = 'tenant-data';
public static $timestamps = true;
Я могу вытащить и просмотреть данные прекрасно с этой настройкой. Так что у каждого пользователя есть своя таблица встреч.
Однако, если я что-то изменю, а затем использую метод eloquent save (). Я получаю рекурсивный вызов, который никогда не заканчивается.
Что мне нужно изменить в методе laravels save (), чтобы это работало?
И нужно ли мне это менять в основном ?? Или я могу переопределить метод save () в текущей модели? И если да, то как?
Я почти догадываюсь, но вы пытались изменить порядок ваших команд конструктора? Сначала установить таблицу динамически, а затем вызвать родительский конструктор?
Я не уверен, что вы пытаетесь достичь, но, да, вы можете переопределить родительский (красноречивый в вашем случае) метод сохранения.
class Appointment extends Eloquent{
public function save(){
//Do your own save stuff
....
// call Eloquent's save function to finish
parent::save();
}
}