<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum CakePHP.org.pl - Paginate i order]]></title>
	<link rel="self" href="http://forum.cakephp.org.pl/feed/atom/topic/150/"/>
	<updated>2010-08-17T13:02:31Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.cakephp.org.pl/topic/150/paginate-i-order/</id>
		<entry>
			<title type="html"><![CDATA[Odp: Paginate i order]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/666/#p666"/>
			<content type="html"><![CDATA[<p>W cakePHP 1.1 rozwiązaywałem takie coś przez custom pagination<br /><a href="http://book.cakephp.org/view/249/Custom-Query-Pagination">http://book.cakephp.org/view/249/Custom … Pagination</a> nie wiem jak się sprawa ma w 1.2 ale podejrzewam, że to powinno działać bez problemu. Dodatkowo mógłbyś rzucić okiem na generpwane zapytanie SQLa (przy włączonym debug,2)</p><p>może by coś podpowiedziało.</p>]]></content>
			<author>
				<name><![CDATA[caker]]></name>
				<uri>http://forum.cakephp.org.pl/user/247/</uri>
			</author>
			<updated>2010-08-17T13:02:31Z</updated>
			<id>http://forum.cakephp.org.pl/post/666/#p666</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Paginate i order]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/665/#p665"/>
			<content type="html"><![CDATA[<p>Dzis juz z bardzo czasu nie mam, ale wydaje mi sie ze </p><p>-&nbsp; bedziesz wyswietlac&nbsp; liste reklam z wczesniej wybranej (pojedynczej) kategorii - wtedy zaczynasz od modelu Advetisement , nie musisz nawet bindowac kategorii bo i po co , skoro&nbsp; wczesniej mozesz pobrac&nbsp; o niej info(znajacjej id) - wtedy bedzie dzialac takjak podales w 1-szym poscie ( tylko inny model paginujesz)</p><p>lub</p><p>- jednak chesz wyswietlac&nbsp; na jednej stronie, liste kategorii i liste remklam&nbsp; w nich , rozwiazanie troche leciwe (ale nie jestes google i nie masz milionow reklam w tysicach kategorii): utworz widok zawierajacy pola obu tabel,&nbsp; ktore beda wyswietlone/uzywane dosortowania&nbsp; , zrob do niego model, i&nbsp; paginuj ten model</p>]]></content>
			<author>
				<name><![CDATA[rob_zombie]]></name>
				<uri>http://forum.cakephp.org.pl/user/280/</uri>
			</author>
			<updated>2010-08-07T02:19:58Z</updated>
			<id>http://forum.cakephp.org.pl/post/665/#p665</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Paginate i order]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/664/#p664"/>
			<content type="html"><![CDATA[<p>Witam,</p><p>wydaje mi się, że nie da się tego załatwić od tak. Przypadek ten zadziałałby w drugą stronę, tj. paginacja Advertisment z sortowaniem po dowolnym polu Category.<br />Zauważ, że każdy obiekt Advertisment jednoznacznie wskazuje na obiekt Category, ale w drugą stronę nie, dlatego system ma problem z dopasowaniem obiektu (z posted_date) spośród wielu.</p><p>Nasuwa mi się pomysł z pokombinowaniem z drugim parametrem funkcji paginate lub nadpisaniem tej funkcji. Pytanie, czy gra warta świeczki.</p><p>Pozdrawiam</p>]]></content>
			<author>
				<name><![CDATA[marek.rodkiewicz]]></name>
				<uri>http://forum.cakephp.org.pl/user/237/</uri>
			</author>
			<updated>2010-08-03T11:02:24Z</updated>
			<id>http://forum.cakephp.org.pl/post/664/#p664</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Paginate i order]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/663/#p663"/>
			<content type="html"><![CDATA[<div class="codebox"><pre><code>&lt;?php
class Category extends AppModel {
    var $name = &#039;Category&#039;;
    var $displayField = &#039;name&#039;;
    //The Associations below have been created with all possible keys, those that are not needed can be removed

        function getDataByCategory($categoryName) {
            return $this-&gt;find(&#039;all&#039;, array(&#039;conditions&#039; =&gt; array(&#039;Category.name&#039; =&gt; $categoryName)));
        }

    var $hasMany = array(
        &#039;Advertisment&#039; =&gt; array(
            &#039;className&#039; =&gt; &#039;Advertisment&#039;,
            &#039;foreignKey&#039; =&gt; &#039;category_id&#039;,
            &#039;dependent&#039; =&gt; false,
            &#039;conditions&#039; =&gt; &#039;&#039;,
            &#039;fields&#039; =&gt; &#039;&#039;,
            &#039;order&#039; =&gt; &#039;&#039;,
            &#039;limit&#039; =&gt; &#039;&#039;,
            &#039;offset&#039; =&gt; &#039;&#039;,
            &#039;exclusive&#039; =&gt; &#039;&#039;,
            &#039;finderQuery&#039; =&gt; &#039;&#039;,
            &#039;counterQuery&#039; =&gt; &#039;&#039;
        )
    );

}
?&gt;</code></pre></div><div class="codebox"><pre><code>&lt;?php
class Advertisment extends AppModel {
    var $name = &#039;Advertisment&#039;;
    var $displayField = &#039;title&#039;;
    //The Associations below have been created with all possible keys, those that are not needed can be removed

        function getAdvertisments() {
            return $this-&gt;find(&#039;all&#039;);
        }

    var $belongsTo = array(
        &#039;User&#039; =&gt; array(
            &#039;className&#039; =&gt; &#039;User&#039;,
            &#039;foreignKey&#039; =&gt; &#039;user_id&#039;,
            &#039;conditions&#039; =&gt; &#039;&#039;,
            &#039;fields&#039; =&gt; &#039;&#039;,
            &#039;order&#039; =&gt; &#039;&#039;
        ),
        &#039;Category&#039; =&gt; array(
            &#039;className&#039; =&gt; &#039;Category&#039;,
            &#039;foreignKey&#039; =&gt; &#039;category_id&#039;,
            &#039;conditions&#039; =&gt; &#039;&#039;,
            &#039;fields&#039; =&gt; &#039;&#039;,
            &#039;order&#039; =&gt; &#039;&#039;
        )
    );
}
?&gt;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[JaRo]]></name>
				<uri>http://forum.cakephp.org.pl/user/289/</uri>
			</author>
			<updated>2010-07-31T14:48:25Z</updated>
			<id>http://forum.cakephp.org.pl/post/663/#p663</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Paginate i order]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/662/#p662"/>
			<content type="html"><![CDATA[<p>a masz zdefiniowane relacje? Wrzuć więcej kodu, przede wszystkim model.</p>]]></content>
			<author>
				<name><![CDATA[id02009]]></name>
				<uri>http://forum.cakephp.org.pl/user/199/</uri>
			</author>
			<updated>2010-07-30T07:46:54Z</updated>
			<id>http://forum.cakephp.org.pl/post/662/#p662</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Paginate i order]]></title>
			<link rel="alternate" href="http://forum.cakephp.org.pl/post/660/#p660"/>
			<content type="html"><![CDATA[<p>Chcę zrobić paginację w categoriach (lista wpisów z danej kategorii), ale wywala mi błąd gdy wpisuję w order date_posted (w tabeli categories go nie ma, za to jest w tabeli advertisments) - zatem ustawiając paginate tak jak poniżej </p><div class="codebox"><pre><code>var $paginate = array(&#039;limit&#039; =&gt; 3, &#039;order&#039; =&gt; array(&#039;Advertisment.date_posted&#039; =&gt; &#039;desc&#039;));</code></pre></div><p>otrzymuję taki błąd</p><div class="codebox"><pre><code>SQL Error: 1054: Unknown column &#039;Advertisment.date_posted&#039; in &#039;order clause&#039;</code></pre></div><p>jak zatem odnieść się do pola date_posted w innej tabeli (tj. advertisments).</p><p>Pozdrawiam.</p>]]></content>
			<author>
				<name><![CDATA[JaRo]]></name>
				<uri>http://forum.cakephp.org.pl/user/289/</uri>
			</author>
			<updated>2010-07-29T19:00:29Z</updated>
			<id>http://forum.cakephp.org.pl/post/660/#p660</id>
		</entry>
</feed>

