[英]How can I access a model from a controller using laravel4?
如何使用laravel4從控制器訪問模型?
到目前為止,我有我的控制器:
<?php
class GatewayController extends BaseController {
public function getContentAll()
{
$content = Content::getContentAll();
return $content;
}
而我的模型:
<?php
class Content extends Eloquent {
protected $table = '_content';
public function getContentAll(){
return 'test';
}
但是我得到:
Whoops, looks like something went wrong.
首先,Eloquent處理模型集合的返回。 您無需自己處理。 因此,您的模型應該看起來像這樣:
class Content extends Eloquent {
protected $table = '_content';
}
然后,您可以使用以下命令簡單地獲取所有內容:
$content = Content::all();
編輯:
如果要對模型中的數據進行處理,請嘗試以下操作:
class Content extends Eloquent {
protected $table = '_content';
public function modifiedCollection()
{
$allContent = self::all();
$modifiedContent = array();
foreach ($allContent as $content) {
// do something to $content
$modifiedContent[] = $content;
}
return $modifiedContent;
}
}
然后應該可以工作:
$content = Content::modifiedCollection();
代替這個:
$content = Content::getContentAll();
嘗試這個:
$content = Content->getContentAll();
^^
或者將您的函數聲明為static
,如下所示:
public static function getContentAll(){
return 'test';
}
UPDATE :如果您不想使用static function
,則應實例化您的類以調用非靜態函數:
$c = new Content();
$content = $c->getContentAll();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.