<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии на: Zend Framework: дерево вложенных множеств</title>
	<atom:link href="http://web-dev.info/2008/03/zf-nestedset/feed/" rel="self" type="application/rss+xml" />
	<link>http://web-dev.info/2008/03/zf-nestedset/</link>
	<description>Информация о web-разработке для web-разработчиков.</description>
	<lastBuildDate>Tue, 20 Dec 2011 11:44:31 +0400</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>От: wd</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-11887</link>
		<dc:creator>wd</dc:creator>
		<pubDate>Thu, 16 Apr 2009 17:49:10 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-11887</guid>
		<description>Даже понятно почему: 26 вызовов getChildren() и ни одного без параметра сортировки. Впрочем, исправлено до возможности ничего не сортировать. Еще раз спасибо.</description>
		<content:encoded><![CDATA[<p>Даже понятно почему: 26 вызовов getChildren () и ни одного без параметра сортировки. Впрочем, исправлено до возможности ничего не сортировать. Еще раз спасибо.</p>]]></content:encoded>
	</item>
	<item>
		<title>От: wd</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-11885</link>
		<dc:creator>wd</dc:creator>
		<pubDate>Tue, 14 Apr 2009 05:19:32 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-11885</guid>
		<description>Это промах. Угу. Спасибо.</description>
		<content:encoded><![CDATA[<p>Это промах. Угу. Спасибо.</p>]]></content:encoded>
	</item>
	<item>
		<title>От: 2people</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-11884</link>
		<dc:creator>2people</dc:creator>
		<pubDate>Mon, 13 Apr 2009 15:00:18 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-11884</guid>
		<description>Это не работает так как вы хотите если не указывать дополнительный ордер.
if (!is_array($order)) $order = array($order);
foreach ($order as $val)
   $orderSql[] = $this-&gt;_name . &#039;.&#039; . $this-&gt;getAdapter()-&gt;quoteIdentifier($val);

После первой строки получается $order === array(0=&gt;NULL), при этом форич выполняется один раз.

$orderSql === array(0=&gt;&#039;tablename.&#039;).

Угу.

Тогда вот эта хренотень !empty($orderSql) не имеет смысла, вываливается ошибка.</description>
		<content:encoded><![CDATA[<p>Это не работает так как вы хотите если не указывать дополнительный ордер.</p><p>if (!is_array ($order)) $order = array ($order);</p><p>foreach ($order as $val)</p><p>$orderSql[] = $this-&gt;_name . &#39;.&#39; . $this-&gt;getAdapter () -&gt;quoteIdentifier ($val);</p><p>После первой строки получается $order === array (0=&gt;NULL), при этом форич выполняется один раз.</p><p>$orderSql === array (0=&gt;&#39;tablename.&#39;).</p><p>Угу.</p><p>Тогда вот эта хренотень !empty ($orderSql) не имеет смысла, вываливается ошибка.</p>]]></content:encoded>
	</item>
	<item>
		<title>От: o4kapuk</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-10167</link>
		<dc:creator>o4kapuk</dc:creator>
		<pubDate>Mon, 03 Nov 2008 18:21:16 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-10167</guid>
		<description>Спасибо за класс!

Ох и тяжело добывать его из репозитория в ситуации когда с DNS непорядок :)</description>
		<content:encoded><![CDATA[<p>Спасибо за класс!</p><p>Ох и тяжело добывать его из репозитория в ситуации когда с DNS непорядок :)</p>]]></content:encoded>
	</item>
	<item>
		<title>От: illusive</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-8654</link>
		<dc:creator>illusive</dc:creator>
		<pubDate>Mon, 01 Sep 2008 11:14:54 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-8654</guid>
		<description>Спасибо, за класс. Правда ручками походу надо будет ещё поработать.</description>
		<content:encoded><![CDATA[<p>Спасибо, за класс. Правда ручками походу надо будет ещё поработать.</p>]]></content:encoded>
	</item>
	<item>
		<title>От: wd</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-8558</link>
		<dc:creator>wd</dc:creator>
		<pubDate>Fri, 15 Aug 2008 11:53:00 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-8558</guid>
		<description>Такое дерево легко сломать, Вы уверены, что у Вас индексы в порядке? Если уверены, можно дампик поглядеть, интересно?</description>
		<content:encoded><![CDATA[<p>Такое дерево легко сломать, Вы уверены, что у Вас индексы в порядке? Если уверены, можно дампик поглядеть, интересно?</p>]]></content:encoded>
	</item>
	<item>
		<title>От: nanoL</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-8557</link>
		<dc:creator>nanoL</dc:creator>
		<pubDate>Fri, 15 Aug 2008 10:15:46 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-8557</guid>
		<description>и ещё.. не кажется ли вам, что так будет удобнее записывать запросы? 

было:
 function getParent($id, $level = 1) {
        if($level getAdapter()-&gt;fetchRow(
        &#039;SELECT * FROM &#039; .
            $this-&gt;_name . &#039; _&#039; . $this-&gt;_name . &#039;, &#039; . $this-&gt;_name . &#039; &#039; .
            &#039;WHERE _&#039; . $this-&gt;_name . &#039;.&#039; . $this-&gt;_id . &#039; = &#039; . (int)$id . &#039; AND &#039; .
            &#039;_&#039; . $this-&gt;_name . &#039;.&#039; . $this-&gt;_left . &#039; BETWEEN &#039; . $this-&gt;_name . &#039;.&#039; . $this-&gt;_left . &#039; AND &#039; . $this-&gt;_name . &#039;.&#039; . $this-&gt;_right . &#039; AND &#039; .
            $this-&gt;_name . &#039;.&#039; . $this-&gt;_level . &#039; = _&#039; . $this-&gt;_name . &#039;.&#039; . $this-&gt;_level . &#039; - &#039; . $level
        );
    }


стало : 

function getParent($id, $level = 1) {
        if($level getAdapter()-&gt;fetchRow(&quot;SELECT * FROM 	{$this-&gt;_name} 
             WHERE _{$this-&gt;_name}.{$this-&gt;_id} = $id AND 
             _{$this-&gt;_name}.{$this-&gt;_left} BETWEEN {$this-&gt;_name}.{$this-&gt;_left}
             AND {$this-&gt;_name}.{$this-&gt;_right} AND             
             {$this-&gt;_name}.{$this-&gt;_level} = _{$this-&gt;_name}.{$this-&gt;_level} -  $level&quot;   );
    }

ps ничего личного :), кто как хочет ...</description>
		<content:encoded><![CDATA[<p>и ещё... не кажется ли вам, что так будет удобнее записывать запросы? </p><p>было:</p><p>function getParent ($id, $level = 1) {</p><p>if ($level getAdapter () -&gt;fetchRow (</p><p>&#39;SELECT * FROM &#39; .</p><p>$this-&gt;_name . &#39; _&#39; . $this-&gt;_name . &#39;, &#39; . $this-&gt;_name . &#39; &#39; .</p><p>&#39;WHERE _&#39; . $this-&gt;_name . &#39;.&#39; . $this-&gt;_id . &#39; = &#39; . (int)$id . &#39; AND &#39; .</p><p>&#39;_&#39; . $this-&gt;_name . &#39;.&#39; . $this-&gt;_left . &#39; BETWEEN &#39; . $this-&gt;_name . &#39;.&#39; . $this-&gt;_left . &#39; AND &#39; . $this-&gt;_name . &#39;.&#39; . $this-&gt;_right . &#39; AND &#39; .</p><p>$this-&gt;_name . &#39;.&#39; . $this-&gt;_level . &#39; = _&#39; . $this-&gt;_name . &#39;.&#39; . $this-&gt;_level . &#39;&nbsp;&mdash; &#39; . $level</p><p>);</p><p>}</p><p>стало : </p><p>function getParent ($id, $level = 1) {</p><p>if ($level getAdapter () -&gt;fetchRow (&laquo;SELECT * FROM 	{$this-&gt;_name} </p><p>WHERE _{$this-&gt;_name}.{$this-&gt;_id} = $id AND </p><p>_{$this-&gt;_name}.{$this-&gt;_left} BETWEEN {$this-&gt;_name}.{$this-&gt;_left}</p><p>AND {$this-&gt;_name}.{$this-&gt;_right} AND             </p><p>{$this-&gt;_name}.{$this-&gt;_level} = _{$this-&gt;_name}.{$this-&gt;_level}&nbsp;&mdash;  $level&raquo;   );</p><p>}</p><p>ps ничего личного :), кто как хочет ...</p>]]></content:encoded>
	</item>
	<item>
		<title>От: nanoL</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-8556</link>
		<dc:creator>nanoL</dc:creator>
		<pubDate>Fri, 15 Aug 2008 09:33:09 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-8556</guid>
		<description>Не знаю почему, но метод getChildren у меня перестал работать корректно. создавая такой запрос :
SELECT * FROM categories _categories, categories WHERE _categories.iCategoryID = 1 AND categories.`iCatLeft` BETWEEN _categories.`iCatLeft` AND _categories.`iCatRight` AND categories.`iCatLevel`=_categories.`iCatLevel` + 1 ORDER BY categories.`iCatLevel` , categories.`sName`
он ничего не выдаёт. 
Только если вручную указать всё, работает :
SELECT * FROM categories
WHERE `iCatLeft` &gt; 1
AND `iCatRight`&lt; 12
AND `iCatLevel` = 2</description>
		<content:encoded><![CDATA[<p>Не знаю почему, но метод getChildren у меня перестал работать корректно. создавая такой запрос :</p><p>SELECT * FROM categories _categories, categories WHERE _categories.iCategoryID = 1 AND categories.`iCatLeft` BETWEEN _categories.`iCatLeft` AND _categories.`iCatRight` AND categories.`iCatLevel`=_categories.`iCatLevel` + 1 ORDER BY categories.`iCatLevel` , categories.`sName`</p><p>он ничего не выдаёт. </p><p>Только если вручную указать всё, работает :</p><p>SELECT * FROM categories</p><p>WHERE `iCatLeft` &gt; 1</p><p>AND `iCatRight`&lt; 12</p><p>AND `iCatLevel` = 2</p>]]></content:encoded>
	</item>
	<item>
		<title>От: wd</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-9</link>
		<dc:creator>wd</dc:creator>
		<pubDate>Fri, 21 Mar 2008 14:50:28 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-9</guid>
		<description>Как и многие другие, не так ли? По поводу Вашего коммента решил перелопатить ДКлаб, там как-то было достойное обсуждение по поводу деревьев, и наткнулся на &lt;a href=&quot;http://web-notes.ru/2005/01/nested_sets/&quot; rel=&quot;nofollow&quot;&gt;статью&lt;/a&gt;, которая еще в далеком 2005ом позволяла свести спорные моменты метода к минимуму. Все довольно лаконично и четко.</description>
		<content:encoded><![CDATA[<p>Как и многие другие, не так ли? По поводу Вашего коммента решил перелопатить ДКлаб, там как-то было достойное обсуждение по поводу деревьев, и наткнулся на <noindex><a href="http://web-notes.ru/2005/01/nested_sets/" rel="nofollow">статью</a></noindex>, которая еще в далеком 2005ом позволяла свести спорные моменты метода к минимуму. Все довольно лаконично и четко.</p>]]></content:encoded>
	</item>
	<item>
		<title>От: ScareCrow</title>
		<link>http://web-dev.info/2008/03/zf-nestedset/comment-page-1/#comment-7</link>
		<dc:creator>ScareCrow</dc:creator>
		<pubDate>Fri, 21 Mar 2008 11:57:57 +0000</pubDate>
		<guid isPermaLink="false">http://web-dev.info/2008/03/zf-nestedset/#comment-7</guid>
		<description>NestedSet хм - спорная вещь</description>
		<content:encoded><![CDATA[<p>NestedSet хм&nbsp;&mdash; спорная вещь</p>]]></content:encoded>
	</item>
</channel>
</rss>

