dongqi9125 2014-06-09 23:04
浏览 154
已采纳

Laravel Eloquent with() - >返回null

I am trying to use Eloquent to get a specific product that has a brand_id column that maps to a brands table, the brand array is coming back empty.

Is there anything obvious here that needs to be changed?

$product = Product::with('images')->with('brand')->select($fields)->where('display', '=', 1)->find($id);

//Product model

class Product extends Eloquent {
    ...
    public function brand()
    {
        return $this->belongsTo('Brand');
    }

//Brand model

class Brand extends Eloquent {
...
public function products()
{
    return $this->hasMany('Product');
}
  • 写回答

1条回答 默认 最新

  • douhua1890 2014-06-10 00:13
    关注

    You have this:

    $product = Product::with('images', 'brand')
                      ->select($fields)
                      ->where('display', 1)
                      ->find($id);
    

    You are getting null for brand and it could be because you have some specific fields and most probably you didn't select the foreing_key from the products table that creates the relationship with Brand, so if your products table contains the foreign_key (probably brand_id) of brand table then you have to select that foreign_key from the products table too. So, just add that foreign_key/brand_id in the $fields variable. Without the relation builder key (FK) the Brand won't be loaded.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?