2011-01-29 5 views
1

지금은 몇 시간 동안이 문제를 해결하기 위해 노력해 왔으며 Google 및 설명서를 읽고 계속 읽었지만 이해할 수 없습니다.cakePHP를 사용하여 데이터베이스 테이블에 가입하는 방법은 무엇입니까?

나는 무엇을하고 있는지 설명하려고 노력하지만 프로젝트를 단순화하려면 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 

나를 지금 일반 PHP와 SQL 코드로 예를 보여줌으로써 내가 CakePHP를 달성하려면 무엇인지 설명 해보자 당신에게 내가) 할

<?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'] . “ “; 
} 
} 
?> 

을 노력하고있어에 대한 아이디어를 줄 것이다 그리고 지금 내가 달성하기 위해 노력하고있는 무슨 말로 설명하려고합니다 :

방문자가 웹 PAG를 검색하는 경우 e를 입력하고 사이트의 블로그 부분을 입력하면 X 최근 게시물을 나열하고 싶습니다.이 게시물을 두 개 이상의 카테고리에 넣을 수 있으며 모든 카테고리 링크를 별도의 테이블에 저장하고 여기에 제가 채워져 있습니다 , 나는 밖으로 링크를 얻을 수 있지만 테이블에 가입하고 이름을 반복 할 수없는 것 같습니다.

누군가가이 문제에 대해 밝힐 수 있기를 바랍니다. 올바른 방향으로 나를 가리키며/또는 예제 코드를 보여줍니다.

으로 내가 설명서를 읽고 있고, 나는 대답을 찾고 시도했지만

+4

가 무슨 얘기하는 것은 결선 평범한에게 인이 링크를 방문하십시오 연결에 대한 자세한 내용을 알고 [hasAndBelongsToMany의 관계 ] (http://book.cakephp.org/view/1044/hasAndBelongsToMany-HABTM)에서 게시물과 카테고리를 비교합니다. 이미 올바르게 설정 했습니까? 그렇다면 문제가 무엇인지 다시 설명하십시오. 나는 당신의 묘사에서 그것을 파악할 수 없었다. – deceze

+1

나는 사기성에 동의한다. cakephp 규칙을 따르라고 조언합니다 : http://book.cakephp.org/view/903/Model-and-Database-Conventions. – bancer

답변

0

협회는 CakePHP의에 참여로 구현입니다 언급했다. HABTM의 개념을 따르십시오. 예 : "Has With All With Belongs To Many" 모델 연결에 선언하십시오.

귀하의 cakephp 쿼리에 연관성을 선언하십시오.

재귀 -> -1 또는 0 또는 1

2 enter link description here

관련 문제