使用FuelPHP中的Model_Crud返回1行

时间:2012-10-31 16:02:13

标签: fuelphp

如何修改它以使其返回1行对象,而不是数组?

$slot = Model_Slots::find(array(
    'where' => array(
        array('datetime', '=', date('Y-m-d H:i:s', $s)),
        array('club', '=', $club->id),
    ),
));

(目前解决方法是跟...... $slot = ($slot[0]) ?: false;,唉!)

2 个答案:

答案 0 :(得分:3)

可以使用get_one() - http://docs.fuelphp.com/packages/orm/crud.html#/find_chaining

完成此操作
$slot = Model_Slots::find(array(
    'where' => array(
        array('datetime', '=', date('Y-m-d H:i:s', $s)),
        array('club', '=', $club->id),
    ),
))->get_one();

答案 1 :(得分:2)

find_by_pk()和find_one_by()都返回单个模型对象,就像ORM get_one()等价。

其他find方法返回一组结果。最简单的方法是添加LIMIT 1,然后使用

$result and $result = reset($result);

获取数组的第一个元素。