アクティブレコードを試しています。これは素晴らしい ORM だと思いますが、実行するのに苦労しています。
一部の方法は機能しますが、他の方法は機能しません。たとえば
<?php
$user=new user();
foreach(user::find('all') AS $row) {
echo "$row->username <br>"; //this works fine.
}
ただし、オプションが指定されているか、validates_uniqueness_of が使用されている場合は、例外がスローされます。
foreach (user::find('all','order'=>"created DESC ,'limit'=>10")) {
echo "$row->username <br>";
これにより、
Fatal error: Uncaught exception 'ActiveRecord\RecordNotFound'
~メッセージ付き~
Couldn't find all user with IDs (all,created DESC ,'limit'=>10) (found 0, but was looking for 2)
私は php 5.3.4 を使用しており、ナイトリー ビルドを使用しています (2013 年 5 月 8 日) これを修正する方法を教えてください。
/*------------------------edit : full code----------------*/
$path_to_AR = "AR/";
include $path_to_AR . "activerecord.php";
ActiveRecord\Config::initialize(function($cfg) {
$cfg->set_model_directory('model');
$cfg->set_connections(
array(
'development' => 'mysql://root:asdf@localhost/test_ar',
'test' => 'mysql://username:password@localhost/test_database_name',
'production' => 'mysql://username:password@localhost/production_database_name'
)
);
});
$user = new user(); //class user extends ActiveRecord\Model {}
foreach (user::find(array('all','conditions'=>"username LIKE '%ohn%'")) AS $row) {
echo "Username:$row->username<br>";
}