mercredi 9 novembre 2016

Laravel 5.3 access hasone in elequant from view

I'm trying to access a relations table from a collection of data passed in from the controller. I am able to iterate the collection in my view but I am unable to access the relationship data.

There are 2 tables:

  • stocks (default model)
  • stock_datas (has a foreign key stock_id which is already setup)

Controller:

public function getstock() {
        return view('vehicles.getstock', ['stock' => \App\Stock::all()]);
    }

Model (App\Stock) and then (App\StockData)

// From stock model:
public function stockdata() {
        return $this->hasOne('App\StockData');
    }

// Stock Data model:
public function stock() {
        return $this->belongsTo('App\Stock');
    }

View (loop):

@foreach ($stock as $k => $v)
     
@endforeach

When I try the query below, I get a

 Undefined property: Illuminate\Database\Eloquent\Collection::$year (View: F:\websites\tempsite\resources\views\vehicles\getstock.blade.php)

However, year is a column in the stock_datas table.

I am also able to print_r data from the \App\StockData() table so the reference to the table is correct as doing print_r(\App\StockData::all()) from the controller does return all the rows as expected.

What am I doing wrong?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire