簡體   English   中英

如何使用laravel4從控制器訪問模型?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM