CREATE FUNCTION `FIND_CATEGORY_PATH`(category INT) RETURNS VARCHAR(200)
DETERMINISTIC
BEGIN
DECLARE path VARCHAR(200);
WHILE category IS NOT NULL DO
SET path = IF(path IS NULL, category, CONCAT(path, ",", category));
SELECT parent_id INTO category FROM tree WHERE id = category;
END WHILE;
RETURN path;
END
// usage example: find all parent categories
SELECT * FROM tree WHERE FIND_IN_SET(id, FIND_CATEGORY_PATH(3))
class User {
public $id; // а не $userId
public $name; // а не $userName
public getEmail(); // а не getUserDetails();
}
blog.name, user.email
. Если имя таблицы не указано, значит оно должно быть очевидно в контексте запроса (так же как использование $this
в методах класса)