Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel关系更改表列会产生未定义的属性_Php_Mysql_Laravel - Fatal编程技术网

Php Laravel关系更改表列会产生未定义的属性

Php Laravel关系更改表列会产生未定义的属性,php,mysql,laravel,Php,Mysql,Laravel,所以我在我的Laravel应用程序中更改了一列的名称,聚会开始了 更改是从名称id更改为卖方id 在考虑之前: $transaction->user->first_name 在控制器事务之前: class Transaction extends Model { public function user(){ return $this->belongsTo('App\User'); } } class Transaction extends

所以我在我的Laravel应用程序中更改了一列的名称,聚会开始了

更改是从名称id更改为卖方id

在考虑之前:

$transaction->user->first_name
在控制器事务之前:

class Transaction extends Model
{
    public function user(){
        return $this->belongsTo('App\User');
    }
 }
class Transaction extends Model
{
    protected $primaryKey = 'seller_id';

    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
{
    public function user(){
        return $this->belongsTo('App\User');
    }
 }
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\u id”和“first\u name”,表事务(事务控制器)现在具有“seller\u id”

不确定它是否影响,但在SQL表中,主键在这两种情况下都是“id”自动增量


我做错了什么?

您在
交易
模型中有
用户
关系,但您试图在视图中以
卖家的身份访问它

更改:

$transaction->seller->first_name
$transaction->user->first_name
至:

$transaction->seller->first_name
$transaction->user->first_name

您还可以将模型中的关系更改为
seller
。如果你需要的话

最后:

$transaction->seller->first_name
$transaction->user->first_name
仅当关系中存在记录时才在视图中显示数据

@if(!empty($transaction->user))
        $transaction->user->first_name
@else
        //No users
@endif

请添加完整的errorprotected$table=“users”@Sohel0415错误是显而易见的。@LeoinstanceofKelmendi我试图不理解任何对象what@LeoinstanceofKelmendi我在事务模型中,protected$table=“users”;应该转到用户模型对吗?这里假设表名为Transactions,请添加完整的错误以及其他人可以清楚理解的控制器代码和模型谢谢您的回答!投票结果是一致的。。相同的错误,则有2个错误,少1个;)@你还犯同样的错误吗?请发布完整的错误消息added,错误指向$transaction->seller->first行_name@TrOnNe当没有属于该关系的用户时,会发生此错误。您是否使用该特定事务有用户?它解决了错误,但没有解决问题哈哈,$transaction->user是进行该事务的用户本身,因此不是空的,问题是laravel找不到$transaction->user,因为列名有问题