mysql - 如何使用连接在 Laravel 中根据 id 获取特定数据?

标签 mysql database laravel

我一直在从事 Laravel 项目。一切都已完成,但我陷入了需要获取数据的 Laravel 数据库查询。这些表格是:

产品和类别。

我将产品 id 作为参数传递到 Controller 函数中,但我不知道如何获取相同类别的产品。下面是我在 Controller 中编写的代码:

public function details($id)
    {

/*        $rel = DB::select('select products.id,products.name,products.description,products.image,products.price,products.category_id,categories.id,categories.name From products INNER JOIN categories on products.category_id = categories.id where category_id = $id');*/

        $rel = DB::select(`products.id`,`products.name`,`products.description`,`products.image`,`products.price`,`products.category_id`,`categories.id`,`categories.name`)->from(`products`)->join(`categories`, function($join) {
            $join->on(`products.category_id`, `=`, `categories.id`);
            })->where($id'.category_id', `=`,'id' )->get();

        $products = Product::all();
        $product = Product::Find($id);
        dd($rel);
        return view('front.singleproduct',compact(['product','products','rel']));
    }

这是我需要访问的数据库字段: enter image description here

请让我知道我做错了什么。谢谢

最佳答案

我找到了答案。

Category::Find($id)->products;

根据产品 ID 获取产品。

关于mysql - 如何使用连接在 Laravel 中根据 id 获取特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49782541/

相关文章:

java - 在 Glassfish 服务器上的 Web 服务中使用数据库时出现“找不到合适的驱动程序”错误

mysql - 如何将正在运行的 docker 容器与 mysql 链接?

php - Laravel/broadcasting/auth 总是失败并出现 403 错误

MySQL 语法。表名、点、字段名之间可以使用空格吗?

mysql - 使用 ID 匹配的另一个表中的数据更新表

php - 有没有一种(简单的)方法可以在纯 PHP 中分离模型,这样做的好方法是什么?

php - 如何在 Codeigniter 中使用 guest 用户愿望 list 到数据库?

database - 在 presto、hive 中查询数组结构

php - 覆盖log接口(interface)容器绑定(bind)lumen 5.0

laravel - Route::auth() 和命名空间