Php 对未定义关系Laravel的RelationNotFoundException调用
为什么我在拉威尔的关系中出错。我正在尝试打印具有此关系的值。有没有办法消除这个错误 控制器:这是购物车页面功能Php 对未定义关系Laravel的RelationNotFoundException调用,php,laravel,laravel-5,Php,Laravel,Laravel 5,为什么我在拉威尔的关系中出错。我正在尝试打印具有此关系的值。有没有办法消除这个错误 控制器:这是购物车页面功能 public function cart_page() { $session_id = Session::get('session_id'); $viewData = cartmodel::with('product_tbls')->where('session_id', $session_id)->get(); echo "<pre>"
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'));
}
公共功能购物车页面()
{
$session_id=session::get('session_id');
$viewData=cartmodel::with('product_tbls')->其中('session_id',$session_id)->get();
回声“;
打印($viewData);
死亡
//返回视图('pages.cart',compact('viewData');
}
产品\u型号:
<?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');
}
}
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'));
}
您正在调用未定义的关系。我认为您在中传递表名时使用了
,这应该是评论中提到的关系函数。因此,请尝试以下代码:
public function shopcart_product()
{
return $this->belongsTo('App\product_models', 'product_id);
}
公共功能购物车页面()
{
$session_id=session::get('session_id');
$viewData=cartmodel::with('shopcart_product')->其中('session_id',$session_id)->get();
回声“;
打印($viewData);
死亡
//返回视图('pages.cart',compact('viewData');
}
在用('shopcart\u product')修复后
,我只需在模型中添加产品\u id
现在从product\u tbls
获取值时,您的关系方法是shopcart\u product()
函数名将相同?cartmodel::with('shopcart\u product')
。确保你提到了正确的外键。[shopcart\u product]=>给出空值,知道吗?但是,[shopcart\u product]=>给出空值也许你的购物车是空的!你能解释一下你想要实现什么吗?产品的形象价值\u模型你确定你的购物车模型有形象价值吗?试试dd($session\u id)
public function shopcart_product()
{
return $this->belongsTo('App\product_models', 'product_id);
}