Теперь я пытаюсь решить эту проблему в течение нескольких часов, и я пробую Google и документацию и читаю ее снова и снова, но, похоже, я не понимаю этого.
Позвольте мне объяснить, что я делаю, но упростить проект, предположим, я веду блог с cakePHP . Я получил эти 3 таблицы, чтобы было проще, мы используем только необходимые поля.
Table: posts
Desc: This table store all our posts
Fields:
postid - Identifier for the post
title - The posts title
Table: sections
Desc: this table contains categories
Fields:
sectionid - Identifier
sectionname - Name
Table: postlinks
Desc: this table store relations between posts and categories.
Fields:
postid – Post ID to determine what post is linked to what section
sectionid – Section ID to determine the section this post belong to
Позвольте мне теперь попытаться объяснить, чего я хочу достичь с помощью cakePHP, показывая пример с обычными кодами php и SQL:
(обратите внимание, этот код был написан на ходу и может не работать, но он должен дать вам представление о том, что я пытаюсь сделать)
<?php
/**
*Block of code to fetch all posts
*/
while ( $rows = mysql_fetch_array($query) )
{
$postid = $rows['postid'];
/** Join postlinks and sections **/
$sql = “SELECT sections.*, postlinks.* FROM postlinks
INNER JOIN sections
ON postlinks.sectionid = sections.sectionid
WHERE postlinks.postid = '$postid'”;
$query = mysql_query($sql);
print “-- TITLE --”;
print “-- CONTENT --”;
print “Posted in “;
/** Loop all categories **/
while ( $rows = mysql_fetch_array($query) )
{
print $rows['sectionname'] . “ “;
}
}
?>
А теперь я попытаюсь объяснить словами, чего я пытаюсь достичь:
Когда посетитель просматривает веб-страницу и входит в блог-часть сайта, я хочу перечислить X последних сообщений, и эти сообщения можно поместить в несколько категорий, и мы будем хранить все ссылки на категории в отдельная таблица, и вот где я напичкан, мне удается вывести ссылки, но я не могу присоединиться к таблицам и вычеркнуть название.
Надеюсь, что кто-то может пролить свет на эту проблему, которую я получил, либо указав мне правильное направление и / или покажите мне пример кода.
Как уже упоминалось, я читал документацию и пытался найти ответ, но