Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Laravel模型中使用特征?_Php_Laravel_Laravel 5.1 - Fatal编程技术网

Php 如何在Laravel模型中使用特征?

Php 如何在Laravel模型中使用特征?,php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,你好,我是拉威尔初学者 我想创建trait并在我的模型中使用它,但在运行时我得到了一个错误,即找不到trait 我的特点: namespace App; use Illuminate\Support\Facades\Schema; trait GeneralModel { public static function testStaticFunction() { dd('test'); } } 我的模型: namespace App; use Illu

你好,我是拉威尔初学者

我想创建trait并在我的模型中使用它,但在运行时我得到了一个错误,即找不到trait

我的特点:

namespace App;
use Illuminate\Support\Facades\Schema;

trait GeneralModel
{
    public static function testStaticFunction()
    {
        dd('test');
    }
}
我的模型:

namespace App;
use Illuminate\Database\Eloquent\Model;

class Comment extends Model
{
    use GeneralModel;
}
我的控制器

namespace App\Http\Controllers;

use App\Comment;

class SearchController extends Controller
{
    public function find()
    {
        Comment::testStaticFunction();
    }
}
收到错误


未找到特征“App\GeneralModel”

请检查App文件夹中的GeneralModel.php。并在项目根路径中执行以下命令

php artisan dump-autoload
你必须使用

Composer dump-autoload
在命令行中


希望对您有所帮助

composer.json
中添加以下内容:

  "autoload"    : {
"classmap": [
  "database/seeds",
  "database/factories"
],
"files"   : [

  "app/GeneralModel.php" // <----------- ADD THIS 
],
"psr-4"   : {
  "App\\": "app/"
}},
“自动加载”:{
“类映射”:[
“数据库/种子”,
“数据库/工厂”
],
“文件”:[

“app/GeneralModel.php”//确保您的trait
GeneralModel.php
Comment
模型位于同一文件夹中。基于您的命名空间,它们应该位于
app
文件夹中。基于您将事物命名为常规旧继承的方式,可能是更好的解决方案。