Php 尝试使用模型获取用户名,但出现以下错误:尝试获取非对象的属性
错误:Php 尝试使用模型获取用户名,但出现以下错误:尝试获取非对象的属性,php,database,model,laravel-5.2,laravel-migrations,Php,Database,Model,Laravel 5.2,Laravel Migrations,错误:814a6fb85b2cceb262c3a8191c08e42742940fc7.php行223中的错误异常:尝试获取非对象的属性(视图:/var/www/html/m/TS/resources/views/d/show details.blade.php) 实际上,我正在尝试获取将结果存储在数据库中的用户名,即,TN在表中将user\u id作为外键,因此我需要使用模型从该user\u id获取用户名,但我在尝试获取非对象的属性时遇到了这个问题与id关联的username`。我不知道我哪
814a6fb85b2cceb262c3a8191c08e42742940fc7.php行223中的错误异常:尝试获取非对象的属性(视图:/var/www/html/m/TS/resources/views/d/show details.blade.php)
实际上,我正在尝试获取将结果存储在数据库中的用户名,即,TN在表中将user\u id作为外键
,因此我需要使用模型从该user\u id
获取用户名
,但我在尝试获取非对象的属性时遇到了这个问题与id关联的
username`。我不知道我哪里做错了
我得到的错误在这里value=“{{{$tn->users->username}}”
显示在缓存文件中
我也给出了下面的代码来查看
先谢谢你
控制器
看法
foreach($n为$n)
模型
用户模型
你好,我已经解决了这个问题,但是忘了把它贴在这里问题就在这里
public function users() {
return $this->belongsTo(User::class);
}
这应该是public function user()
而不是users
。因为它属于User
类,所以它应该是单数而不是复数,对于有许多
,我们使用复数。谢谢你的帮助……:) 请在814a6fb85b2cceb262c3a8191c08e42742940fc7.php第223行:尝试获取非对象的属性(视图:/var/www/html/m/TS/resources/views/d/show details.blade.php)中添加完整的错误消息错误在这一行{$tn users->username}
。。。我想它不会进入模型中的users
函数来获取名称,但当我进入$tn->user\u id
时,它会返回“id”…foreach($n为$n)
即时销毁我想我已经找到了它。。。我没有从TN
表中获取d_id
。。。现在,如果您查看这行代码$tn=tn::find($id)
然后它在TN
表中找到相同的$id
,我需要在TN
表中获取d_id
,这样我就可以提取用户名
,但从TN
表中提取d_id
仍然有问题。。。
foreach($n as $n)
<input style="font-size:10px;font-weight: bold; color:black; background:#59d864;" value="{{$tn->users->username}}" readonly>
<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
use App\TN;
use App\TO;
use App\UserType;
class User extends Authenticatable
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'username', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function tN() {
return $this->hasMany(TN::class);
}
public function tO() {
return $this->hasMany(TO::class);
}
public function userType() {
return $this->belongsTo(UserType::class);
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\D;
use App\TT;
use App\User;
class TO extends Model
{
protected $fillable = ['o', 'date'];
public function d() {
return $this->belongsTo(D::class);
}
public function tOType() {
return $this->belongsTo(TOType::class);
}
public function users() {
return $this->belongsTo(User::class);
}
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Debtor;
use App\TracingType;
use App\User;
class TN extends Model
{
protected $fillable = ['r', 'date'];
public function d() {
return $this->belongsTo(D::class);
}
public function tType() {
return $this->belongsTo(TType::class);
}
public function users() {
return $this->belongsTo(User::class);
}
}
public function users() {
return $this->belongsTo(User::class);
}