繁体   English   中英

Laravel:Hasmany 关系返回空结果

[英]Laravel : Hasmany relationship returning empty results

我有 3 张桌子

  1. 商店
  2. shop_packages

如下

商店

在此处输入图像描述

套餐

在此处输入图像描述

购买套餐在此处输入图像描述

我在商店模型中使用以下关系

 public  function  packages(){
    return $this->belongsToMany(Package::class,'shop_packages','shop_id','package_id');
 }

及以下包装模型

 public  function  shop(){
     return $this->belongsToMany(Shop::class,'shop_packages','package_id','shop_id');
 }

当我试图得到

 Package::with('shop')->get();

它退回了我的包裹,但商店仍然是空的,有人可以指导我如何解决这个问题

它适用于 Laravel 9,如果您的 Laravel 版本低于检查many-to-many-polymorphic-relations以获取适合您版本的文档。

封装模型

/**
     * Get all of the shops for the package.
     */
    public function shops()
    {
        return $this->belongsToMany(Shop::class, 'shop_packages');
    }

店内模型

/**
     * Get all of the packages for the package.
     */
    public function packages()
    {
        return $this->belongsToMany(Package::class, 'shop_packages');
    }

您的数据库捕获与您的关系不对应。

在 Package 模型中,您应该具有以下内容:

public function packages(){
   return $this->belongsToMany(Shop::class,'shop_packages');
}

否则在 Shop 模型中你应该有:

public function shops(){
   return $this->hasMany(Package::class);
}

您必须根据您的需要使用适当的关系。

暂无
暂无

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

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