2013-09-23 87 views
0

所以,我有很多這樣的東西在我的模型:Laravel 3和靜態?

public function can_reply($user) 
{ 
if($user->banned == 0) return 1; 
return 0; 
} 

當我想在我的模型使用它們,我要使用的東西,如:

$post = new Post; 
if($post->can_reply($user)) 
{ 
    //do something 
} 

爲什麼我我不能使用這個嗎?:

if(Post::can_reply($user)) 

它看起來更好和東西。 我做錯了什麼?我應該使用別的方法,如can_reply,parse_text,is_banned?

謝謝!

回答

0

嘗試使該方法static在你的模型:

public static function can_reply($user) 
{ 
if($user->banned == 0) return 1; 
return 0; 
} 

現在你可以使用它像if(Post::can_reply($user)) { /*do somethig*/ }

0

爲了能夠以靜態方式來訪問的方法,如你所願,你需要定義該方法爲靜態:

public static function can_reply($user) 
{ 
    if ($user->banned == 0) return 1; 
    return 0; 
}