次のモデルがあります。
news.php
class News extends Aware {
public static $table = 'noticia';
public static $key = 'idnoticia';
public static $timestamps = false;
public static $rules = array(
'titulo' => 'required',
'subtitulo' => 'required',
);
public function images()
{
return $this->has_many('Image');
}
}
image.php
class Image extends Aware {
public static $timestamps = true;
public static $rules = array(
'unique_name' => 'required',
'original_name' => 'required',
'location' => 'required',
'news_id' => 'required',
);
public function news()
{
return $this->belongs_to('News');
}
}
次に、コントローラーで次のことを行います。
$image = new Image(array(
'unique_name' => $fileName,
'original_name' => $file['file']['name'],
'location' => $directory.$fileName,
'news_id' => $news_id,
));
News::images()->insert($image);
次のエラーメッセージが表示され続けます。
非静的メソッドNews::images()は、互換性のないコンテキストからの$ thisを想定して、静的に呼び出されるべきではありません
私が間違っていることは何ですか?
更新後、次のようなエラーが発生するため、設定public static function images()
は必要ないようです。
$ thisは、オブジェクトコンテキストにない場合
ゴードンは、News::images()->insert($image);
私が静的な呼び出しをしていると言ったが、それはそれを行うために見られた方法です