我创建了一个名为"公司和项目"的模型,我需要显示公司下的项目。该公司显示良好,但是当我向模型添加项目关系时,它显示错误。我是拉拉维尔的新手。
未定义的常量"应用\应用\项目"(查看: C:\xampp\htdocs\testdrive\resources\views\companies\show.blade.php( C:\xampp\htdocs\testdrive\app\company.php
型
use IlluminateDatabaseEloquentModel;
class company extends Model
{
protected $fillable = [
'name',
'description',
'user_id'
];
public function user()
{
return $this->belongsTo(AppUser);
}
public function projects()
{
return $this->hasMany(Appprojects);
}
}
秀刀锋.php
@extends('layouts.app')
@section('content')
<div class="container">
<!-- Jumbotron -->
<div class="jumbotron">
<h1>{{$company->name}}</h1>
<p class="lead">{{$company->description}}</p>
</div>
<!-- Example row of columns -->
<div class="row">
@foreach($company->projects as $projects)
<div class="col-lg-4">
<h2>{{$projects->name}}</h2>
<p class="text-danger">{{$projects->description}} </p>
<p>
<a class="btn btn-primary" href="/projects/{{$projects->id}}" role="button">View Project</a>
</p>
</div>
@endforeach
</div>
</div>
@endsection
你有一个错别字! 命名空间应该是字符串:
public function user()
{
return $this->belongsTo('AppUser');
}
public function projects()
{
return $this->hasMany('Appprojects');
}
缺少class
关键字
class company extends Model
{
//
protected $fillable=[
'name',
'description',
'user_id'
];
public function user()
{
return $this->belongsTo(AppUser::class);
}
public function projects()
{
return $this->hasMany(Appprojects::class);
}
}
希望这有帮助
模型的类或问题中的命名空间
public function user()
{
return $this->belongsTo(AppUser::class); //or $this->belongsTo('AppUser');
}
public function projects()
{
return $this->hasMany(AppProject::class);
}
除了如上所述使用引号来引用模型。可能还需要定义类的命名空间。
旁注:使用PascalCase作为类名也是一种Laravel命名约定(即。公司,湿骆驼,FooBar类(
namespace AppCompany;
use IlluminateDatabaseEloquentModel;
class Company extends Model
{
protected $fillable = [
'name',
'description',
'user_id'
];
public function user()
{
return $this->belongsTo('AppUser');
}
public function projects()
{
return $this->hasMany('AppProjects');
}
}
使用 '' this 调用模型。
更正语法为:
public function projects()
{
return $this->hasMany('Appprojects');
}