Change 'self' references inside models to 'static'. This fixes issues when models are overriden, but he base class continues to references itself rather than the new model.
This commit is contained in:
parent
7d53452bd1
commit
a8141c3fb3
|
|
@ -53,6 +53,6 @@ class CartItem extends Model implements CartItemContract
|
||||||
*/
|
*/
|
||||||
public function child()
|
public function child()
|
||||||
{
|
{
|
||||||
return $this->belongsTo(self::class, 'id', 'parent_id');
|
return $this->belongsTo(static::class, 'id', 'parent_id');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ class Product extends Model implements ProductContract
|
||||||
*/
|
*/
|
||||||
public function variants()
|
public function variants()
|
||||||
{
|
{
|
||||||
return $this->hasMany(self::class, 'parent_id');
|
return $this->hasMany(static::class, 'parent_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -54,7 +54,7 @@ class Product extends Model implements ProductContract
|
||||||
*/
|
*/
|
||||||
public function parent()
|
public function parent()
|
||||||
{
|
{
|
||||||
return $this->belongsTo(self::class, 'parent_id');
|
return $this->belongsTo(static::class, 'parent_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -120,7 +120,7 @@ class Product extends Model implements ProductContract
|
||||||
*/
|
*/
|
||||||
public function related_products()
|
public function related_products()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany(self::class, 'product_relations', 'parent_id', 'child_id')->limit(4);
|
return $this->belongsToMany(static::class, 'product_relations', 'parent_id', 'child_id')->limit(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -128,7 +128,7 @@ class Product extends Model implements ProductContract
|
||||||
*/
|
*/
|
||||||
public function up_sells()
|
public function up_sells()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany(self::class, 'product_up_sells', 'parent_id', 'child_id')->limit(4);
|
return $this->belongsToMany(static::class, 'product_up_sells', 'parent_id', 'child_id')->limit(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -136,7 +136,7 @@ class Product extends Model implements ProductContract
|
||||||
*/
|
*/
|
||||||
public function cross_sells()
|
public function cross_sells()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany(self::class, 'product_cross_sells', 'parent_id', 'child_id')->limit(4);
|
return $this->belongsToMany(static::class, 'product_cross_sells', 'parent_id', 'child_id')->limit(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -214,7 +214,7 @@ class Product extends Model implements ProductContract
|
||||||
*/
|
*/
|
||||||
public function getAttribute($key)
|
public function getAttribute($key)
|
||||||
{
|
{
|
||||||
if (! method_exists(self::class, $key) && ! in_array($key, ['parent_id', 'attribute_family_id']) && ! isset($this->attributes[$key])) {
|
if (! method_exists(static::class, $key) && ! in_array($key, ['parent_id', 'attribute_family_id']) && ! isset($this->attributes[$key])) {
|
||||||
if (isset($this->id)) {
|
if (isset($this->id)) {
|
||||||
$this->attributes[$key] = '';
|
$this->attributes[$key] = '';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ class ProductFlat extends Model implements ProductFlatContract
|
||||||
*/
|
*/
|
||||||
public function variants()
|
public function variants()
|
||||||
{
|
{
|
||||||
return $this->hasMany(self::class, 'parent_id');
|
return $this->hasMany(static::class, 'parent_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue