<?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>Комментарии: Основы ORM &#8212; Изменение записей</title>
	<atom:link href="http://kohanaframework.su/database/orm_change_data/feed" rel="self" type="application/rss+xml" />
	<link>http://kohanaframework.su</link>
	<description>Документация и обучение фреймворку Kohana v3.2</description>
	<lastBuildDate>Tue, 04 Aug 2015 19:12:36 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Автор: ivanovbl4</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1451</link>
		<dc:creator>ivanovbl4</dc:creator>
		<pubDate>Tue, 20 Nov 2012 05:45:56 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1451</guid>
		<description>Мне нужно изменить(обновить) запись в БД. При помощи save() не получается, в место изменения записи добавляется новая. Я делаю форму редактирования. В общем суть в том что нужно в адресной строке ввести id записи и затем содержимое записи загружается в определенные поля формы, содержимое полей нужно изменить и сохранить. Все проходит нормально но только запись не обновляется а просто добавляется новая. В начале метода использую вот это:

$parameters = $this-&gt;request-&gt;param();

Потом еще код для вывода записей из таблицы в поля формы и валидация. А вот сам отрывок кода для изменения записи:

$city = ORM::factory(&#039;city&#039;, $parameters[&#039;id&#039;]);
$city-&gt;name = $_POST[&#039;name&#039;];
$city-&gt;about = $_POST[&#039;description&#039;];
$city-&gt;save();
if($city-&gt;saved())
echo &#039;город &#039;.$city-&gt;name.&#039; сохранен&#039;;

Не пойму в чем дело...</description>
		<content:encoded><![CDATA[<p>Мне нужно изменить(обновить) запись в БД. При помощи save() не получается, в место изменения записи добавляется новая. Я делаю форму редактирования. В общем суть в том что нужно в адресной строке ввести id записи и затем содержимое записи загружается в определенные поля формы, содержимое полей нужно изменить и сохранить. Все проходит нормально но только запись не обновляется а просто добавляется новая. В начале метода использую вот это:</p>
<p>$parameters = $this-&gt;request-&gt;param();</p>
<p>Потом еще код для вывода записей из таблицы в поля формы и валидация. А вот сам отрывок кода для изменения записи:</p>
<p>$city = ORM::factory(&#8216;city&#8217;, $parameters['id']);<br />
$city-&gt;name = $_POST['name'];<br />
$city-&gt;about = $_POST['description'];<br />
$city-&gt;save();<br />
if($city-&gt;saved())<br />
echo &#8216;город &#8216;.$city-&gt;name.&#8217; сохранен&#8217;;</p>
<p>Не пойму в чем дело&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Денис Васильевич</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1431</link>
		<dc:creator>Денис Васильевич</dc:creator>
		<pubDate>Thu, 08 Nov 2012 11:52:26 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1431</guid>
		<description>методы Database.
Кто-то уже кстати интересовался на форуме подобным вопросом</description>
		<content:encoded><![CDATA[<p>методы Database.<br />
Кто-то уже кстати интересовался на форуме подобным вопросом</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: temoffey</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1430</link>
		<dc:creator>temoffey</dc:creator>
		<pubDate>Thu, 08 Nov 2012 11:09:01 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1430</guid>
		<description>Возможно ли реализовать добавление нескольких записей в таблицу одним запросом с помощью ORM?
В частности необходимо перенести содержимое файла .csv в базу (число строк ~40000).
Если нет возможности то что целесообразнее использовать: цикл ORM, либо методы Database?</description>
		<content:encoded><![CDATA[<p>Возможно ли реализовать добавление нескольких записей в таблицу одним запросом с помощью ORM?<br />
В частности необходимо перенести содержимое файла .csv в базу (число строк ~40000).<br />
Если нет возможности то что целесообразнее использовать: цикл ORM, либо методы Database?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: yodo780</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1307</link>
		<dc:creator>yodo780</dc:creator>
		<pubDate>Fri, 05 Oct 2012 05:03:30 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1307</guid>
		<description>А такая конструкция для удаления не пойдет?

Код:

ORM::factory(&#039;category&#039;)
            -&gt;where(&#039;name&#039;, &#039;=&#039;, &#039;&#039;Тапки&#039;)
            -&gt;delete();</description>
		<content:encoded><![CDATA[<p>А такая конструкция для удаления не пойдет?</p>
<p>Код:</p>
<p>ORM::factory(&#8216;category&#8217;)<br />
            -&gt;where(&#8216;name&#8217;, &#8216;=&#8217;, &#187;Тапки&#8217;)<br />
            -&gt;delete();</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Денис Васильевич</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1238</link>
		<dc:creator>Денис Васильевич</dc:creator>
		<pubDate>Mon, 10 Sep 2012 11:31:40 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1238</guid>
		<description>Да кстати, вдогонку. Если нам надо добавить запись, а не обновить... В гвайде по кохане Джейсона Страугхана видел такие варианты. 
Генерация исключения при попытке обновить запись вместо создания:
&lt;pre lang=&quot;php&quot;&gt;
public function create(array $data)
{
    if(!$this-&gt;empty_pk() &amp;&amp; !isset($this-&gt;_changed[$this-&gt;_primary_key]))
    {
        throw new Exception(&#039;Cannot create new message, 
object contains a loaded message already&#039;)
    }
    $this-&gt;values($data);
    $this-&gt;save();
}
&lt;/pre&gt;
Исключение исключением, но если предварительно очистить объект:
&lt;pre lang=&quot;php&quot;&gt;
public function create(array $data)
{
    $this-&gt;clear();
    $this-&gt;values($data);
    $this-&gt;save();
}
&lt;/pre&gt;

Полагаю, что этот вариант и используется при вызове метода create в 3.2. Лень щас что-то смотреть исходники :)</description>
		<content:encoded><![CDATA[<p>Да кстати, вдогонку. Если нам надо добавить запись, а не обновить&#8230; В гвайде по кохане Джейсона Страугхана видел такие варианты.<br />
Генерация исключения при попытке обновить запись вместо создания:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> create<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">empty_pk</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_changed<span style="color: #009900;">&#91;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_primary_key<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> Exception<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Cannot create new message, 
object contains a loaded message already'</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">values</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Исключение исключением, но если предварительно очистить объект:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> create<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">clear</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">values</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">save</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Полагаю, что этот вариант и используется при вызове метода create в 3.2. Лень щас что-то смотреть исходники <img src='http://kohanaframework.su/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: shaman</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1237</link>
		<dc:creator>shaman</dc:creator>
		<pubDate>Mon, 10 Sep 2012 11:06:14 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1237</guid>
		<description>он покажет вам загружен ли обьект а когда валидацию проганять?</description>
		<content:encoded><![CDATA[<p>он покажет вам загружен ли обьект а когда валидацию проганять?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Денис Васильевич</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1236</link>
		<dc:creator>Денис Васильевич</dc:creator>
		<pubDate>Mon, 10 Sep 2012 08:10:05 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1236</guid>
		<description>Ну. А еще можно loaded() использовать.</description>
		<content:encoded><![CDATA[<p>Ну. А еще можно loaded() использовать.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: shaman</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1235</link>
		<dc:creator>shaman</dc:creator>
		<pubDate>Mon, 10 Sep 2012 07:27:41 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1235</guid>
		<description>могу подсказать (romawka_ural(гав)mail.ру) в агент =)</description>
		<content:encoded><![CDATA[<p>могу подсказать (romawka_ural(гав)mail.ру) в агент =)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: shaman</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1234</link>
		<dc:creator>shaman</dc:creator>
		<pubDate>Mon, 10 Sep 2012 07:25:56 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1234</guid>
		<description>причем тут &quot; глобальным массивом $_REQUEST&quot; ? (там просто редирект)
 
я вам писал про ЭТО 
$q=ORM::factory(‘call’)-&gt;where(‘id’,&#039;=’,какая запись)-&gt;where(‘userid’,&#039;=’,проверяем авторство)-&gt;find()
try{
      $q-&gt;save($_POST);
}catch(ORM_Validation_Exception $e){
                        $errors=$e-&gt;errors(&#039;models&#039;);
}
и все )) если ненайдено в таблице записи или не ваша запись то вы получаете исключение  - ошибку и формируемете (в message). ВЫ полюбому не создатие НОВУЮ запись так как запрос у вас с условием</description>
		<content:encoded><![CDATA[<p>причем тут &#187; глобальным массивом $_REQUEST&#187; ? (там просто редирект)</p>
<p>я вам писал про ЭТО<br />
$q=ORM::factory(‘call’)-&gt;where(‘id’,&#8217;=’,какая запись)-&gt;where(‘userid’,&#8217;=’,проверяем авторство)-&gt;find()<br />
try{<br />
      $q-&gt;save($_POST);<br />
}catch(ORM_Validation_Exception $e){<br />
                        $errors=$e-&gt;errors(&#8216;models&#8217;);<br />
}<br />
и все )) если ненайдено в таблице записи или не ваша запись то вы получаете исключение  &#8212; ошибку и формируемете (в message). ВЫ полюбому не создатие НОВУЮ запись так как запрос у вас с условием</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Денис Васильевич</title>
		<link>http://kohanaframework.su/database/orm_change_data/comment-page-1#comment-1225</link>
		<dc:creator>Денис Васильевич</dc:creator>
		<pubDate>Sat, 08 Sep 2012 15:02:29 +0000</pubDate>
		<guid isPermaLink="false">http://kohanaframework.su/?page_id=1937#comment-1225</guid>
		<description>Да видели видели уже. Оно самое с циклом. Увы.</description>
		<content:encoded><![CDATA[<p>Да видели видели уже. Оно самое с циклом. Увы.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
