2015-05-07 7 views
0

当我运行代码:产生为什么手动预取(通过select/columns)不支持访问器'multi'?

return $self->result_source->schema->resultset('Locality')->search(
     { 
     'addresses_view.usage' => 0 
     ,'me.id' => $self->id 
     } 
     ,{ 
     join => { servers => 'addresses_view' } 
     } 
    ); 

下一个SQL查询:

SELECT 
    "me"."id", "me"."active", "me"."priority", 
    "me"."country_id", "me"."name" 
FROM "localities" "me" 
LEFT JOIN "servers" "servers" ON "servers"."locality_id" = "me"."id" 
LEFT JOIN "pool_addresses_view" "addresses_view" ON "addresses_view"."server_id" = "servers"."id" 
WHERE (("addresses_view"."usage" = ? AND "me"."id" = ?)) 

并执行确定。

但是,当我要添加列“SELECT”

,'+columns' => [ 'addresses_view.ip', 'addresses_view.id' ] 

我得到错误:Manual prefetch (via select/columns) not supported with accessor 'multi'

我发现同样的qestion在www.mail-archive.com/[email protected],但我不明白怎么通过列属性以search_related以及限制列选择

有没有办法给'SELECT'子句添加列?

回答

相关问题