У меня есть 3 таблицы продуктов, пользователей и отзывов.Отношения, которые я использую, - это Многие ко многим.Мой SQL-код выглядит следующим образом:
CREATE TABLE users (
id INT UNSIGNED AUTO_INCREMENT,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
fullname VARCHAR(255) NOT NULL,
phone VARCHAR(11) ,
address TINYTEXT,
create_at DATETIME DEFAULT CURRENT_TIMESTAMP,
update_at DATETIME,
PRIMARY KEY(id)
);
CREATE TABLE products (
id INT UNSIGNED AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
image TINYTEXT NOT NULL,
priceold DECIMAL(5,1) NOT NULL,
pricenew DECIMAL(5,1) NOT NULL,
code VARCHAR(20) NOT NULL,
description TINYTEXT ,
link_origin TINYTEXT,
date_release DATE,
developer VARCHAR(255),
link_trailer TINYTEXT,
create_at DATETIME DEFAULT CURRENT_TIMESTAMP,
update_at DATETIME,
PRIMARY KEY(id)
);
CREATE TABLE reviews(
user_id INT UNSIGNED ,
product_id INT UNSIGNED ,
rating FLOAT DEFAULT 0,
content TEXT NOT NULL,
create_at DATETIME DEFAULT CURRENT_TIMESTAMP,
update_at DATETIME,
FOREIGN KEY(user_id) REFERENCES users(id),
FOREIGN KEY(product_id) REFERENCES products(id),
PRIMARY KEY(user_id,product_id)
);
Я получил информацию о продукте по идентификатору.Я также могу получить все отзывы об этом продукте.
$this->query('
SELECT r.*
FROM products AS p, reviews AS r
ON p.id = r.product_id
WHERE id = :id
');
$this->bind(':product_id',$product['id']);
$reviews = $this->single();
Как узнать имя рецензента?Я использую модель PHP и MVC. Я хочу показать комментарии и их владельца ниже страницы продукта.Какой самый оптимальный способ.Пожалуйста, помогите мне