【发布时间】:2013-01-02 17:46:40
【问题描述】:
拥有以下型号:
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 不在对象上下文中时
Gordon 说通过 News::images()->insert($image); 我正在做一个静态调用,但这就是 saw 的做法
【问题讨论】:
标签: php model laravel non-static