我已经阅读并遵循这里发现的文档 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());
});
?>
.

我想先向我的表显示我的表,但这是我有什么

访问undclared静态属性:dbeloquent :: $ table

有人帮我请

有帮助吗?

解决方案

你的 dbelcquent 类是在后台扩展的 model 类。eloquent别名指向模型类,在 app / config / app.php 文件

'Eloquent'=>'illuminate \ database \ eloquent \ model'

protected $ table 属性从抽象 model class扩展,它不是静态,所以你不能重新redeclare(静态或名人)。方式您可以通过基础模型访问属性:

__get($key) method
.

但问题是您的 $ table 属性的执行点,因为它在运行时受到保护和修改。

最后,它未被声明并定义为以这样的方式使用 - Laravel在内部查找该属性。尝试跟踪电话,您可能会发现内部发生的事情。 不要让事情变得复杂,然后他们应该复杂。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top