我有一个问题,我甚至无法正确命名。情况就是这样。
我正在使用php框架(kohana3,但我认为这并不重要)编写带有条目和上传的简单cms。关系是:
Entries -> has_many -> Uploads
Uploads -> belongs_to -> Entries
要显示上传的所有条目,我在查看文件中使用此代码:
foreach( $entries as $entry )
{
foreach( $entry->upload->find_all() as $uploads )
{
foreach( $uploads->find_all() as $upload )
{
echo $upload->file;
}
}
}
现在我想在Entry模型中创建一个名为find_first_upload()
的方法,它将返回第一个上传的元素。以下是它的未来用法:
foreach( $entries as $entry )
{
echo $entry->find_first_upload()->file;
}
并且重要的是我不想将任何变量传递给find_first_upload()
方法,例如$entry
对象或当前循环的条目ID。
我想要实现的是能够在find_first_upload
方法中获取当前循环的条目对象 - 它将允许我在其中创建foreach。
您有什么想法我可以编码吗?
如果您有任何疑问,请随时在这里询问。
谢谢, 麦克
答案 0 :(得分:1)
public function find_first_upload() {
$result = 0;
foreach( $this->upload->find_all() as $uploads )
{
foreach( $uploads->find_all() as $upload )
{
if(empty($result))
$result = $upload;
}
}
return $result;
}
答案 1 :(得分:1)
很抱歉恢复了这个老话题,但是我在谷歌上搜索了一些东西而且偶然发现了这个问题。如果有人有类似问题,请忽略接受的答案,这是正确的方法:
public function find_first_upload()
{
return $this->uploads->find();
}