나는 Phalcon에서 처음입니다. Phalcon php를 Codeigniter의 대체 PHP 프레임 워크로보기로 결정했습니다. 태그가있는 블로그를 구현하고 있습니다. 첫 번째는 태그 값을 db의 단일 열에 삽입하는 것입니다. https://github.com/mfiels/tagsly/blob/master/index.html 에서 태그 플러그인 예제를 따릅니다. "php, jquery, asp, html, css"와 같은 단일 열에 여러 값을 삽입했습니다.
이제 다음과 같이 db에서 volt로 값을 검색합니다.
[controller]
$bloger = $this->modelsManager->executeQuery("SELECT * FROM Blogs ORDER BY Blogs.datetime DESC");
$this->view->setVar('blogs', $bloger);
[volt]
<?php
$blogTags = array();
$blogTags = $bloger->tags;
$tags = explode(',',$blogTags);
foreach($tags as $taged){ ?>
<a class="tags" href="blog/tag/<?php echo($taged); ?>">
<?php echo($taged); ?> <span>[ 0 ]</span></a>
<?php } ?>
이제 링크와 같은 : "localhost/demo/blog/tag/php"
또는 "localhost/demo/blog/tag/jquery"
내 질문은 어떻게 db에서 각 태그 관련 데이터를 검색 할 수 있습니까?
다음과 같은 쿼리를 시도하고 있습니다.
[제어 장치]
public function tagAction($taged)
{
$tags = Blogs::findBytags($taged);
$tagData = array();
$tagData = explode(',', $tags->tags);
$similar = Blogs::find(["tags LIKE :title:","bind"=> ["title"=>'%'.$tagData.'%'],"order" => "datetime DESC limit 5"]);
$this->view->setVar('tagged', $similar);
$this->view->pick('blog/tagline');
}
[볼트]
{% for similar in tagged %}
{{tagged.btitle}}
{% endfor %}
그러나 예상대로 렌더링되지 않습니다. 일치하는 데이터를 검색하려면 어떻게해야합니까?
모든 현재 태그를 반복하여 쿼리에 하나씩 추가 할 수 있습니다. 루프 중에 바인딩 요소 배열도 생성합니다.
[controller]
...
$currenttags = explode(',', $blog->tags);
$query = Blogs::query();
$bindParameters = [];
for($i = 0; $i < count($currenttags); $i++) {
$query->orWhere('tags LIKE :tag' . $i . ':');
$bindParameters['tag' . $i] = '%' . $currenttags[$i] . '%';
}
$query->bind($bindParameters);
$similar = $query->execute();
$this->view->setVar('datas', $similar);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다