Thomas Timmermans
Thomas Timmermans

Reputation: 426

Laravel exception: Creating default object from empty value

I'm getting this error just by instantiating a Model and setting a property.

$order_datail = new OrderDetail;
$order_detail->quantity = $product['quantity'];

I'm searching for hours for the cause of this problem but can't find it.

The constructor of OrderDetail is executed. table is order_details, but even by setting protected $table = 'order_details', I'm still getting this error. And yes there is a column 'quantity' in this table.

Strange thing is that I've no problem with other models.

$order = new Order;
$order->pickup_date = $request['date'];
$order->pickup_time = $request['pickupTime'];

The above code runs fine.

Model OrderDetail:

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class OrderDetail extends Model
{
use SoftDeletes;

public function replaceds()
{
    return $this->hasMany('App\Models\Replaced');
}
public function orders()
{
    return $this->belongsTo('App\Models\Order');
}
public function products()
{
    return $this->hasMany('App\Models\Product');
}
public function collis()
{
    return $this->hasMany('App\Models\Colli');
}
}

Anyone that knows what can be the cause of this?

Upvotes: 0

Views: 55

Answers (1)

Rick de Graaf
Rick de Graaf

Reputation: 958

There is a spelling error on $order_datail = new OrderDetail; Change it to: $order_detail = new OrderDetail;

Upvotes: 3

Related Questions