所以我在Laravel应用程序中更改了一个列的名称,并开始派对......
更改是从name_id到seller_id
在视野之前:
$transaction->user->first_name
在控制器交易之前:
class Transaction extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
}
在控制器调用视图之前和之后:
public function getInfoUser($name){
$user = User::where('register_id', $name)->where('id', auth()->user()->id)->first();
if($user){
return view('users.user', compact('user'));
}
}
在视野中:
$transaction->seller->first_name
在控制器事务中:
class Transaction extends Model
{
protected $primaryKey = 'seller_id';
public function user(){
return $this->belongsTo('App\User');
}
}
退货后:
Trying to get property of non-object (View: /Users/tronne/Documents/web/resources/views/users/user.blade.php) in c7128907204dffe6676c7d88cbbc47.php (line 108)
at CompilerEngine->handleViewException(object(ErrorException), 0) in
PhpEngine.php (line 45)
at PhpEngine-evaluatePath('/Users/tronne/Documents/web/storage/framework/views/c7128907204dffe6676c7d88cbbc47.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'user' => object(User)))
in CompilerEngine.php (line 59)
at CompilerEngine-get('/Users/tronne/Documents/web/resources/views/users/user.blade.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' => object(ViewErrorBag), 'user' => object(User)))
in View.php (line 137)
作为参考,表用户具有标准列名" user_id"和" first_name"并且表事务(事务控制器)现在具有" seller_id"
不确定它是否会影响,但在SQL表中,主键在两种情况下都是" id"自动增量
我做错了什么?
答案 0 :(得分:1)
您的user
模型中存在Transaction
关系,但您尝试在视图中以seller
的形式访问它。
更改:强>
$transaction->seller->first_name
要强>
$transaction->user->first_name
或强>
您还可以将模型中的关系更改为seller
。如果那就是你需要的。
<强>最后:强>
仅当关系中有记录时才在视图中显示数据。
@if(!empty($transaction->user))
$transaction->user->first_name
@else
//No users
@endif