ORM を使用してテーブルをクエリするときに問題が発生します。たとえば、フィールド ID、作成者、テキストを含む記事テーブルがあります。
このような私のコード:
// Single where
$article = Model_Article::find()->where('id', 4);
print_r($article);
そのコードはテーブル article のすべてのフィールドをフェッチしません。select * from article where id = 4
可能性を試す
$article = Model_Article::find(null, array('id','title'))->where('id', 3);
応答は
object(Orm\Query)#89 (14) {
["model":protected]=>
string(10) "Model_Article"
["connection":protected]=>
NULL
["view":protected]=>
NULL
["alias":protected]=>
string(2) "t0"
["relations":protected]=>
array(0) {
}
["joins":protected]=>
array(0) {
}
["select":protected]=>
array(1) {
["t0_c0"]=>
string(5) "t0.id"
}
["limit":protected]=>
NULL
["offset":protected]=>
NULL
["rows_limit":protected]=>
NULL
["rows_offset":protected]=>
NULL
["where":protected]=>
array(1) {
[0]=>
array(2) {
[0]=>
string(9) "and_where"
[1]=>
array(3) {
[0]=>
string(5) "t0.id"
[1]=>
string(1) "="
[2]=>
int(3)
}
}
}
["order_by":protected]=>
array(0) {
}
["values":protected]=>
array(0) {
}
}
それは戻りIDまたはタイトルフィールドではありません。
しかし、 get_one() メソッドを追加して試してみると
$article = Model_Article::find(null, array('id','title'))->where('id', 3)->get_one();
id は return ですが、title は別のフィールドです。理由はわかりません。
参照
- ORM ディスカッション FuelPHP現在、ORM はすべての列を選択すると言われていますが、現時点ではそれを変更する予定はありません。
私の問題
- このようにORMを使用してカスタムフィールドを選択
select id,owner from article where id = 4
すると、IDと所有者のみが返されます.FUELPHPでORMを使用してそれを取得することは可能ですか?