У меня есть проблема с красноречивым и L4.2Eloquent Пользовательские Pivot проблема с belongsTo
Я пытаюсь установить заказную модель Pivot ниже:
//campaign model
public function users(){
return $this->belongsToMany('User');
}
public function newPivot(Eloquent $parent, array $attributes, $table, $exists){
if ($parent instanceof User) {
return new CampaignUser($parent, $attributes, $table, $exists);
}
return parent::newPivot($parent, $attributes, $table, $exists);
}
//user model
public function campaigns(){
return $this->belongsToMany('Campaign');
}
public function newPivot(Eloquent $parent, array $attributes, $table, $exists){
if ($parent instanceof Campaign) {
return new CampaignUser($parent, $attributes, $table, $exists);
}
return parent::newPivot($parent, $attributes, $table, $exists);
}
и ниже моей пользовательской модели поворота «CampaignUser "
public function campaign() {
return $this->belongsTo('Campaign');
}
public function User() {
return $this->belongsTo('User');
}
public function facture() {
return $this->belongsTo('Facture');
}
модели Фактура имеет что-то вроде hasMany ('CampaignUser') в метод, называемый campaign_user.
Я пытаюсь сделать что-то вроде:
> $facture->campagne_user
, но я получил эту ошибку:
Аргумент 1 передается Осветите \ Database \ Eloquent \ Отношения \ Pivot :: __ конструкта() должен быть экземпляром Illuminate \ Database \ Eloquent \ Model, не указанным, вызывается в laravel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php в строке 849 и определен
У кого-то была эта проблема раньше? Как я могу это решить?
Заранее спасибо.
Вы можете вставить полное пользовательское определение CampaignUser? – lagbox
Это уже на моем предыдущем посту –
UserCampaign - это не стандартная модель, поэтому вы не можете использовать ее в качестве отношения. Он требует аргументов конструктора, которых нет в обычной модели. – lagbox