Я хочу изменить имя таблицы в зависимости от того, какой пользователь является Auth.Имя таблицы модели Laravel с переменной
Почему? Потому что, когда я добавляю дилера, я создаю клиента базы данных для этого дилера, а имя данных - d. $ Dealer_id.clients. Таким образом, пользователю необходимо добавить клиента в таблицу, связанную с собственным дилером.
Я попытался с устанавливаемым():
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Auth;
class Client extends Model
{
public function setTable($table)
{
$this->table = 'd1clients';
return $this;
}
protected $fillable = ['dealer_id', 'user_id', 'type', 'first_name', 'last_name', 'phone', 'cellphone', 'email', 'stock', 'source', 'civic', 'road', 'city', 'province', 'country', 'postal_code', 'birth_date', 'driving_liscence'];
}
Но это не спасают клиента к столу. И это:
'diclients'
Должно быть так:
'd'.Auth::user()->dealer_id.'clients'
Я также попробовал эту вещь:
$globalDealerId = Auth::user()->dealer_id;
protected $table = 'd'.$globalDealerId.'clients';
protected $fillable = ['dealer_id', 'user_id', 'type', 'first_name', 'last_name', 'phone', 'cellphone', 'email', 'stock', 'source', 'civic', 'road', 'city', 'province', 'country', 'postal_code', 'birth_date', 'driving_liscence'];
документация сказал, что Устанавливаемое должно работать, но я не знаю, что я сделал неправильно ...
Если это '$ this-> table = 'd1clients';' be '$ this-> table = $ table;'? А затем запустите 'setTable ($ dealer_id);' – VIDesignz
какие ошибки вы получаете? вы можете посмотреть на запрос, который красноречивый делает? –
Я пытаюсь найти этот запрос. Но я не знаю, где его найти. –