2012-04-06 2 views
0

Possible Duplicate:
Call to a member function on a non-object致命的なエラー:コード行が間違っている何CakePHPの

を使用して、非オブジェクトのメンバ関数TRUNCATE()の呼び出し?私は何か他のものを使用する必要がありFatal error: Call to a member function truncate() on a non-object in /nfs/c03/h01/mnt/12345/domains/jazz.com/html/app/Controller/PostsController.php on line 161

:それは私にエラーを与えたよう

$this->Post->saveField('slug', $this->Text->truncate(Inflector::slug($post['Post']['title']),25,array('exact'=>false,'html'=>false,'ending'=>'')));

$this->request->data['title'];同様

+0

'$ this-> Text'はオブジェクトではありません。それがエラーメッセージの意味です。あなたが何をしたいかについては、他のすべてが重要です。 – hakre

+0

特にコントローラコンテキストでヘルパーが使用されています。 – mark

+0

これは重複していません!同じエラーが出ているからといって同じ答えで修正されているわけではありません!実際にこれを閉じると以下の答えが失われます。 – Cameron

答えて

1

エラーが$this->Textが対象ではないことを意味し、あなたがtruncateを呼び出すことはできません(または任意の他の)方法を使用します。

Textはモデルですか?あなたはuses配列に追加することができ、コントローラでのいくつかのモデルを使用する場合:

var $uses = array('Post','Text'); 

を、それがコンポーネントの場合は、components配列に追加する必要があります。

TextHelperが提供するtruncateメソッドを探している場合は、Stringクラスを使用できます。 String::truncateの例を参照してください。http://book.cakephp.org/2.0/en/core-utility-libraries/string.html

+0

テキストはヘルパーではありません – Cameron

0

がちょうどます$ this-かどうかを確認するために条件を追加]> [テキストが利用可能であるかない

if ($this->Text) { 
     $this->Post->saveField('slug', $this->Text->truncate(Inflector::slug($post['Post']['title']),25,array('exact'=>false,'html'=>false,'ending'=>''))); 
} 
関連する問題