Laravel4: Как я могу использовать краснорегующую / модель

StackOverflow https://stackoverflow.com//questions/22006637

  •  21-12-2019
  •  | 
  •  

Вопрос

Я прочитал и последовал за документацией, найденный здесь http://laravel.com/docs/eloquent И я попробовал некоторые из примеров, которые я нашел здесь Вот код, который у меня есть до сих пор модель

dbeloquent.php

<?php
class dbeloquent extends Eloquent {

   protected  $table = "users";


    public  function showTbl()
        {
             dd(dbeloquent::$table);
        }
}

//end of model
?>

    route.php

<?php
Route::get('/', function () {
    $model = new dbeloquent();   
    dd($model->someFunction());
});
?>
.

Я хочу показать свои таблицы первым, но вот что у меня есть

Доступ к неразложенному статическому свойству: Dbeloquent :: $ Таблица

Кто-нибудь поможет мне, пожалуйста,

Это было полезно?

Решение

Ваш dbeloquent класс расширяет модель класс на заднем плане.Красноречивый псевдоним указывает на класс модели, в приложении CONFIG / CONFIG / APP.PHP файл

'eloquent'=> 'illuminate \ База данных \ eloquent \ model'

Защищенный $ Таблица имущество расширено от абстрактных <сильных> модель класса, и это не статично, поэтому вы не можете восстановить его (статический или ностатический).Вы можете получить доступ к недвижимости от базовой модели с использованием:

__get($key) method
.

Но проблема в том, какая точка выполнения видима ваша $ таблицы , поскольку оно защищено и модифицировано во время выполнения.

В конце его не объявляется и определено, чтобы его использоваться таким образом - Laravel внутренне ищет этого свойства.Попробуйте трассировать звонки, и вы, вероятно, найдете то, что происходит внутри. Не усложняйте вещи больше, чем они должны быть сложными.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top