Недавно я обновил свой проект с laravel 4.2 до laravel 5.0 и столкнулся с несколькими ошибками.
Я не определял пространства имен в версии 4.2, но, как было предложено здесь
Я начал определять пространства имен в своем коде. Я не знаю, связана ли проблема, с которой я столкнулся, с этим, но она возникла в середине этого процесса.
Я получаю следующую ошибку при выполнении кода:
exception 'Symfony\Component\Debug\Exception\FatalErrorException' with
message 'Cannot redeclare class App\models\Category' in
/Users/yash/summers/lightsCameraDinner/lcd_updated/app/models/Category.php:19
Вот мой Category.php:
<?php namespace App\models;
use Eloquent;
class Category extends Eloquent {
protected $table = 'categories';
protected $guarded = array('id');
// Defining 'Many to Many' Relationship with 'VendorProfile' Model
public function clients() {
return $this->belongsToMany('Client');
}
// Defining 'One to Many' Relationship with 'Job' Model
public function jobs() {
return $this->hasMany('Job');
}
}
Я искал подобные ошибки на SO, но не нашел.
Это функция в моем контроллере, которая вызывается на маршруте «/».
public function getIndex() {
$categories = Category::all();
$messages = Message::groupBy('receiver_id')
->select(['receiver_id', \DB::raw("COUNT('receiver_id') AS total")])
->orderBy('total', 'DESC')
->get()
->toArray();
$vendors_ids = array();
foreach ($messages as $message) {
$vendors_ids[] = $message['receiver_id'];
}
$clients = Client::where('profile_type', 'VendorProfile')
->where('is_activated', 1)
->whereIn('id', $vendors_ids)
->limit(4)
->get();
if($clients->count() < 4) {
$clients = Client::where('profile_type', 'VendorProfile')
->where('is_activated', 1)
->limit(4)
->get();
}
Log::info('getIndex function of PagesController');
$this->layout = View::make('layouts.homepage');
$this->layout->content = View::make('pages/index', ['categories' => $categories, 'clients' => $clients]);
return $this->layout;
}
Дайте мне знать, если вам нужно что-то еще из кода. Я уже довольно давно пытаюсь найти решение.
Category Class
в том же пространстве имен? - person DavidDomain   schedule 28.05.2015artisan make:model
. Моя модель выглядит иначе, чем ваша.namespace App;
. Иuse Illuminate\Database\Eloquent\Model;
. Может быть. Попробуй это. - person DavidDomain   schedule 28.05.2015namespace App
, но теперь PagesController говоритApp\Category
not found. - person Yash   schedule 28.05.2015Eloquent
в любом случае относится кIlluminate\Database\Eloquent\Model
в app.php - person Yash   schedule 28.05.2015use App\Models\Category
- person DavidDomain   schedule 28.05.2015App\Models\Category
не найдено. Добавляя это, он просматривает пространство именApp\Models
, но мои модели находятся в пространстве именApp
. Так что, я думаю, это не имеет никакого смысла. - person Yash   schedule 28.05.2015