我正在使用idiorm作为ORM库而方法as_array()不起作用这是我的代码我得到2个错误
1- $ market = $ market-> as_array();
PHP致命错误:在非对象
上调用成员函数as_array()2- - > as_array();
PHP致命错误:在非对象
上调用成员函数as_array()我的代码:
function ($market = 'affiliate', $category = array('all')) use ($app) {
$market = \ORM::for_table('category')
->where('alias', $market)
->find_one();
$market = $market->as_array();
$category = @end($category);
if ($category != 'all') {
$category = \ORM::for_table('category')
->where('alias', $category)
->where_gt('category_id', 0)
->find_one()
->as_array();
$items = \ORM::for_table('item')
->select('item.*')
->select('category.name', 'category_name')
->join('category', 'category.id = item.category_id')
->where('item.category_id', $category['id']);
答案 0 :(得分:0)
根据Idiorm docs:
任何以find_one()结尾的方法链都将返回表示您请求的数据库行的ORM类的单个实例,如果未找到匹配的记录,则返回false。
在调用as_array()之前,您应该检查您的查询是否返回了任何行。
例如:
$market = \ORM::for_table('category')
->where('alias', $market)
->find_one();
if($market != false)
{
$market = $market->as_array();
}
如果仍然出现错误,那么您可能没有正确初始化Idiorm。