как получить атрибут таблицы внутри модели laravel - PullRequest
0 голосов
/ 11 сентября 2018

Я хочу получить типы только там, где wef равно текущей таблице wef.Как этого добиться, я не могу получить атрибут wef с $ this-> attribute ['wef'].Заранее спасибо.

class Gst extends Model
    {
        //
        use Traits\UserAutoUpdate;
        protected $connection = 'mysql';
        protected $table = "gst";
        protected $fillable = ['name','wef'];

        public function types(){
           return $this->hasMany(GstType::class,'gst_id','id')->where('wef', $this->attributes['wef']);
        }   


    }

Ошибка: «Неопределенный индекс: wef»

1 Ответ

0 голосов
/ 11 сентября 2018

Вам нужна функция, которая определяет отношения между GstType и Gst:

public function gstTypes()
{
     return $builder->hasMany(GstType::class,'gst_id','id');
}

Затем создайте функцию с областью действия:

public function scopeTypes($builder){
    return $builder->whereHas('gstTypes', function ($query) {
       $query->where('wef', $this->getAttribute('wef'));
   });
}   

И используйте это как:

 $types = GstType::types();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...