我在Newsletter和Blocks之间有很多联系。对于此关系,有一个名为“ block_newsletter”的数据透视表。我为此关系创建了一个数据透视模型,因为我需要使用我的BlockItemContent表/模型在此数据透视表/模型上放置另一个OneToMany关系。
我的BlockNewsletterPivot模型如下所示:
class BlockNewsletterPivot extends Pivot
{
/**
* The Block Item Content.
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function blockItemContent()
{
return $this->hasMany('App\BlockItemContent');
}
}
这是我的BlockItemContent模型:
class BlockItemContent extends Model
{
protected $table = 'block_item_content';
protected $fillable = ['item_type', 'html_key', 'content', 'properties'];
public $timestamps = false;
/**
* Get the BlockNewsletter item that owns the BlockItemContent.
*/
public function blockNewsletterPivot()
{
return $this->belongsTo('App\BlockNewsletterPivot');
}
}
现在,我尝试像这样获取它:
$blockNewsletterRow = BlockNewsletterPivot::findOrFail($blockNewsletterPivotId);
这会导致以下错误:
传递给Illuminate \ Database \ Eloquent \ Relations \ Pivot :: __ construct()的参数1必须是Illuminate \ Database \ Eloquent \ Model的实例,没有给出
这是我的表格和关系的屏幕截图,以便更好地理解。