【发布时间】:2021-09-03 15:59:08
【问题描述】:
我正在尝试打印用户名,但它给了我错误
试图获取非对象的属性
型号
用户:
<?php
namespace App\Models;
use App\Models\Registro;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public function registros(){
return $this->belongsTo('\App\Models\Registro', 'user_id');
}
}
注册商:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use \App\Models\User;
class Registro extends Model
{
use HasFactory;
public function user(){
return $this->hasMany('\App\Models\User');
}
}
数据库:
在blade.php中:
{{$registro->user_id->name}}
也许我在人际关系方面做错了什么,但我无法自己解决
<tbody class="list">
@foreach($registros as $registro)
<tr>
<th scope="row">
<div class="media align-items-center">
<a href="#" class="avatar rounded-circle mr-3">
<img alt="Image placeholder" src="../../assets/img/theme/bootstrap.jpg">
</a>
<div class="media-body">
<span class="name mb-0 text-sm">{{$registro->user_id->name}}</span>
</div>
</div>
</th>
</tr>
@endforeach
</tbody>
尝试改变关系,但它不起作用 不允许我打印 user_id 的名称,请帮助
【问题讨论】:
标签: laravel laravel-5 eloquent laravel-8