2016-07-04 4 views
1

У меня проблема с подобной системой. Если я нажимаю на кнопку, как он бросает мне ошибку: FatalErrorException в PostController.php линии 80:
класса 'App \ Http \ Контроллеры \ Как' не найден
Laravel: FatalErrorException

Line 80 в моем почтовом контроллер является:

$like = new Like(); 

Это моя полная функция:

public function postLikePost(Request $request){ 
    $post_id = $request['postId']; 
    $is_like = $request['isLike'] === 'true' ? true : false; 
    $update = false; 
    $post = Post::find($post_id); 
    if(!$post){ 
    return null; 
    } 
    $user = Auth::user(); 

    $like = $user->likes()->where('post_id', $post_id)->first(); 
    if($like){ 
    $already_like = $like->like; 
    $update = true; 
    if($already_like == $is_like){ 
     $like->delete(); 
     return null; 
    } 
    } else{ 
    $like = new Like(); 
    } 
    $like->like = $is_like; 
    $like->user_id = $user->id; 
    $like->post_id = $post->id; 


    if($update){ 
    $like->update(); 
    }else{ 
    $like->save(); 
    } 
    return null; 
} 

вы знаете, где проблема? Спасибо. (Я использую Laravel v5.2.39)

+0

Вы должны импортировать его в верхней части. –

+0

Что вы пытаетесь решить проблему? Исключением является очень четкое представление о проблеме. – Eiko

+0

Где находится файл с классом 'Like' относительно вашего корня проекта? Кроме того, что говорит строка 'namespace' в верхней части этого файла? –

ответ

1

Вам нужно написать use Your_Namespace\Like; перед классом заявления.

В контроллере: -

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

use App\Http\Requests; 

use DB; 

use App\Like; // use Your_Namespace\Like; add this line here 

ИЛИ вы можете напрямую писать,

$like = new \App\Like(); // new \Your_Namespace\Like(); 

documentation См.

По умолчанию Your_Namespace является App.

Вы можете изменить пространство имен с помощью следующей команды: -

php artisan app:name Your_Namespace 
+0

Да, я забыл его импортировать. Большое вам спасибо, я ненавижу подобные ошибки. –

+0

@ M.Milton: Добро пожаловать :-) –

1

Вам необходимо импортировать его.

Добавить use App\Like; к началу PostController.php (Предполагая, что он находится в пространстве имен App)

+0

Как вы знаете, что это в пространстве имен 'App'? –

+0

Справа. Я не. Я просто добавлял это «предположение» к ответу. –

+0

Да, это пространство имен приложений. Спасибо. –