Eloquent一对多关系出错

时间:2018-06-09 02:09:52

标签: php sql laravel laravel-blade

遇到一对多模型的问题。我知道要访问1到多个,需要一个foreach循环。我这样做并得到空白。

项目模型

class Item extends Model

{
protected $table = 'items';
public function offers(){
    return $this->hasMany('App\Offer','listing_id');
}

优惠模式

class Offer extends Model
{
    protected $table = 'offers';

    public function item(){
        return $this->belongsTo('App\Item','listing_id');
    }
}

项目控制器:

public function index()
{
    $user_id = auth()->user()->id;

    $listings = Item::with('offers')->where('user_id','1')->paginate(2);;
    return view('user.dashboard')->with('listings',$listings);
}

查看:

@foreach ($listings as $listing)
    {{listing->offer_price}}
@endforeach

因此我尝试通过{{listing-> offer_price}}引用商品表中的值,但在视图中没有显示任何内容 - 空白?每个商品都有多个商品

1 个答案:

答案 0 :(得分:2)

你需要两个循环:

@foreach ($listings as $listing)
    @foreach ($listing->offers as $offer)
        {{ $offer->price }}
    @endforeach
@endforeach