определить имя таблицы в модели Laravel - PullRequest
0 голосов
/ 22 сентября 2018

, когда я определяю имя таблицы в модели laravel, например

class Test extends Model
    {
        use SoftDeletes;
        protected $table="en_test";

и записываю в мой код

DB::enableQueryLog();
Test::get();
dd(DB::getQueryLog());

Я получаю результат

"query" => "select * from `en_test` where `en_test`.`deleted_at` is null"
    "bindings" => []
    "time" => 0.88

Но когдаЯ устанавливаю имя таблицы как защищенный $ table;

class Test extends Model
{
    use SoftDeletes;
    public function __construct()
       {
           $locale =\App::getLocale();
           $this->table=$locale."_test";
       }  

и напишите предыдущий код.У меня

"query" => "select * from `en_test`"
    "bindings" => []
    "time" => 0.93

Почему where fa_test . Удален_в is null удален из моего запроса?

1 Ответ

0 голосов
/ 22 сентября 2018

Это потому, что вы используете пользовательский код в своем конструкторе, и вы не запустили здесь родительский конструктор, поэтому черты не были загружены.Вы должны использовать:

public function __construct()
{
   $locale =\App::getLocale();
   $this->table=$locale."_test";
   parent::_construct();
}

для запуска родительского конструктора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...