首页 > 解决方案 > RelationNotFoundException 调用未定义的关系 Laravel

问题描述

在此处输入图像描述

为什么我在 Laravel 关系中遇到错误。我正在尝试 print_r 具有这种关系的值。有什么办法可以摆脱这个错误?

控制器:这是购物车页面功能

public function cart_page()
{
    $session_id = Session::get('session_id');
    $viewData = cartmodel::with('product_tbls')->where('session_id', $session_id)->get();
    echo "<pre>";
    print_r($viewData); 
    die;

    // return view('pages.cart', compact('viewData'));
}

产品型号:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class product_models extends Model
{
    protected $table = "product_tbls";

    public function shop_product_all()
    {
        return $this->hasMany('App\cartmodel');
    }    
}

推车型号:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class cartmodel extends Model
{
    protected $table = "shoppingcart";

    public function shopcart_product()
    {
        return $this->belongsTo('App\product_models');
    }
}

标签: phplaravellaravel-5

解决方案


您正在调用未定义的关系。我认为您传递的表名with应该是评论中提到的 vivek_23 关系函数。所以试试下面的代码:

public function cart_page()
{
    $session_id = Session::get('session_id');
    $viewData = cartmodel::with('shopcart_product')->where('session_id', $session_id)->get();
    echo "<pre>";
    print_r($viewData); 
    die;

    // return view('pages.cart', compact('viewData'));
}

推荐阅读