我尝试在laravel刀片中使用trait,但是没有用。
这是特质
namespace App\Repositories;
trait Residence
{
public $country=['USA','Japan','Italy'];
public $building=['duplex','condominium'];
}
我尝试像这样在刀片中使用
:@inject('Residence', 'App\Repositories\Residence')
@foreach($Residence->country as $country)
{{$country}}
@endforeach
@foreach($Residence->building as $building)
{{$building}}
@endforeach
但是我得到Target [App\Repositories\Residence] is not instantiable.
错误,有任何建议吗?(我使用的是laravel 5.7)
答案 0 :(得分:0)
谢谢@Louis R提醒我们:“一个类应该使用一个特征”
所以我在一个类中使用该特征,然后注入到刀片中,它就可以了!
这是特质。
namespace App\Repositories;
trait Residence
{
public $country=['USA','Japan','Italy'];
public $building=['duplex','condominium'];
}
这是一个使用特质的类。
namespace App\Repositories;
Class ResidenceClassForBlade
{
use Residence;
}
这是刀片:
@inject('Residence', 'App\Repositories\ResidenceClassForBlade')
@foreach($Residence->country as $country)
{{$country}}
@endforeach
@foreach($Residence->building as $building)
{{$building}}
@endforeach