laravel 5.4雄辩的模型加载,从4.1项目移植

时间:2017-04-02 15:50:05

标签: php laravel-4 laravel-5.4

我目前正在使用laravel 4.1将旧网站移植到laravel 5.4。已经实现了很多小的更改(错误日志有帮助),但我坚持使用以下模型:

namespace App;


class navire extends Eloquent
{
protected $table = 'navire';

public function user()
{
    return $this->belongsTo('user');
}

public function getId()
{
    return $this->id;
}

}

我试图从控制器调用它:

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Input;

use App\navire;

class UserController extends Controller
{
   public function somefunc()
   {
      // .... 

      $navire = \navire::where('user_id',$user->id)->get()->take(1);


    }

}

尝试使用“使用...”或者在开头调用它时做了很多事情,到目前为止没有任何工作

错误的例子:

local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'App\Http\Controllers\navire' not found' in /home/user/www/app/Http/Controllers/UserController.php:30

local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'App\Http\Controllers\navire' not found' in /home/user/www/app/Http/Controllers/UserController.php:30

local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'App\navire' not found' in /home/user/www/app/Http/Controllers/UserController.php:32

 local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Class 'navire' not found' in /home/user/www/app/Http/Controllers/UserController.php:32

我已经调用了dumpautoload。

1 个答案:

答案 0 :(得分:1)

使用$navire = \App\navire::where('user_id',$user->id)->get()->take(1); 或者您已经导入模型使用$navire = navire::where('user_id',$user->id)->get()->take(1);,即没有前面的斜线。

另一方面,您可以使用first()代替->get()->take(1)。像这样$navire = \App\navire::where('user_id',$user->id)->first();