当前位置: 首页 > 知识库问答 >
问题:

如何选择所有记录与关系和在哪里子句Laravel MySQL

吉嘉珍
2023-03-14

我是新来的Laravel,所以我有一点问题。我有表'类别'和'产品'在我的数据库。在我的模型中,我设置了如下关系:

产品php:

public function category() 
{
    return $this->belongsToMany(Category::class);
}

类别php:

public function products() 
{
    return $this->hasMany(Product::class);
}

我现在需要的是,我想选择所有类别及其相关产品。(用户在搜索栏中输入category name并获取类别列表,当用户选择category I时,从Categories以及与此类别相关的产品中获取所有列)。

我试过这样的方法:

public function findCategory(Request $request)
{
    return Category::with('products')
        ->where('name', 'like', '%' . $request->category_name . '%')
        ->limit(15)
        ->get();
}

也:

public function findCategory(Request $request)
{
    return Category::where('name', 'like', '%' . $request->category_name . '%')
        ->products()
        ->limit(15)
        ->get();
}

但这似乎不起作用,我也没有办法了。有人知道有没有办法做到这一点吗?任何帮助都将不胜感激:)

共有3个答案

谢英光
2023-03-14
public function getAllData()
{
    $data = tableName::where('Method','Delivery')->get();
    return response()->json($data, 200);
}

$users = DB::table_Name('users')->select('name', 'email as user_email')->get();
庄星汉
2023-03-14

您的查询几乎完成了,只是没有加载相关模型。因此,最后一个示例应该是:

public function findCategory(Request $request)
{
    return Category::where('name', 'like', '%' . $request->category_name . '%')->
      ->with('products') //load related products
      ->limit(15)
      ->get();
}
闽康安
2023-03-14

大概是

public function findCategory(Request $request)
{

    $term = $request->category_name;

    return Category::with('products')->where(function($q) use($term) {
               $q->where('categories.name','like',"%$term%");
            })->paginate(15); //or use limit(15)


}
 类似资料:
  • 我有以下SQL语句,它从数据库中选择公司(存储lat/lng),并显示离客户位置最近的5个位置。这是完美的工作: $query=sprintf(“选择公司名称、地址、电话、传真、联系人、电子邮件、网站、url、纬度、经度,(1.609344*3959*acos(弧度(“$center\u lat”)*cos(弧度(纬度))*cos(弧度(经度)-弧度(“$center\u lng”))sin(弧度

  • 问题内容: 假设我有两个表,“父母”和“孩子”。父子关系是一个多对多关系,可通过标准的交叉引用表来实现。 我想查找使用SQL(特别是MS SQL Server的T-SQL; 2005语法可以接受)的给定子集的所有成员所引用的所有Parent记录。 例如,假设我有: List item Parent Alice Parent Bob Child Charlie references Alice, B

  • 公共类CountryMasterModel{私有字符串CountryName[]; } 公共接口服务{ } @组件公共类CountryMasterDAO实现CountryMasterService{ } 在此输入图像描述

  • 问题内容: 我有一张桌子,桌子之间有一对多的关系。每个记录可以有来自同一张表的n个孩子。例如 给定一个ID,我想递归选择所有文件夹记录的SUM(SIZE)。目标数据库是MySql 5,但是如果它的通用性足以在Oracle和MS- SQL中运行,那将是很好的选择。 我不知道树有多深,可能是1级,可能是50级(或更多) 问题答案: 这可能会有些帮助:http : //mikehillyer.com/a

  • 问题内容: 有谁知道任何全面的文档吗? 我正在寻找有关的文档。这就是我所能找到的全部。 有人知道更好的来源吗? 问题答案: 有一个很好的一篇关于它mishadoff的博客 在这里 。 该类虽然没有正式记录。

  • > 在我的视图中,我可以输出,如下所示: 我可以遍历,比如: 但是是否可以迭代(我知道只有一个-- ,请参见#2),并且对于每个迭代他们的? 我想我的模特关系中有什么不对劲的地方。我还尝试用在Artist.php中定义关系(我认为说“每个艺术家都有许多乐器”更有意义,但这给了我一个错误,因为它需要一个名为的表,而且它还试图检索该表中不存在的列(比如)。