繁体   English   中英

Laravel 5.4中的ORM无法正常工作

[英]ORM in laravel 5.4 not working

我有2个表格“项目”和“品牌”。 items包含产品详细信息,例如item_id,名称和brand_id,而brands包含brandId和brand_name。 我想获取可以加入品牌和商品的商品数据。

这是我的控制器。

public function filters($id){
    $items = Items::brands();       
    return $items;
}

这是我的模型。

public static function brands(){
    return $this->hasOne('App\Brands');
}

在浏览器上运行时,我得到了以下内容。 不在对象上下文中时使用$ this

尝试这样:

模型文件:

public function brands(){
    return $this->hasOne('App\Brands');
}

和像这样的控制器:

public function filters($id){
    $items = Items::select("*")->with('brands')->get()->toArray();       
    return $items;
}

删除静态关键字

public function brand(){
    return $this->hasOne('App\Brands','brand_id');
}

在您的品牌中,您需要

public function item(){
    return $this->belongsTo('App\Items','brandId','brand_id');
}

和您的控制器:

public function filters($id){
    $items = Items::all()->with('brands')->get();       
    return $items;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM