#php #laravel
#php #laravel
Вопрос:
У меня возникла проблема с использованием признаков в среде laravel.
Я пытаюсь получить доступ к признак с помощью модели в laravel и получаю сообщение об ошибке «признак не найден». Ниже приведена моя черта, она хранится в папке app Traits и называется testTrait.php
<?php
namespace AppTraits;
trait test{
public function printTest()
{
$test = 'test';
return $test;
}
}
Это модель, которую я использую, чтобы попытаться получить к ней доступ, она хранится в папке app Models и в остальном отлично работает без попыток использования черты
<?php
namespace AppModels;
use IlluminateDatabaseEloquentModel;
use AppTraitstestTrait;
class Home extends Model
{
use testTrait;
public function someMethod()
{
/*
something here
*/
}
}
Я предполагаю, что это может быть как-то связано с пространством имен и тем фактом, что я должен назначить пространство имен App Models, но даже если я изменю или удалю это, это не сработает.
Ответ №1:
У вашего файла может быть имя testTrait.php
, но вы вызвали признак в этом файле по-старому test
.
trait test { ... }
Переименуйте его в testTrait
в testTrait.php
файле.
trait testTrait { ... }
Ответ №2:
Вы определили свой признак как trait test{
но в вашей модели вы используете неправильное имя признака use testTrait;
измените его на
use test;