Php 试图获取错误关注的非对象的属性<;td>'$用户->;用户名'</td>;

Php 试图获取错误关注的非对象的属性<;td>'$用户->;用户名'</td>;,php,laravel,Php,Laravel,我有这个错误,有人能帮忙吗 试图获取非对象的属性时,错误集中在。$users->username. 下面是我的代码,它有一个错误: function GetactivationReq() { $settings = DB::table('settings')->where('id', 1)->first(); $users = DB::table('activationFee')->orderBy('id', 'desc')->get();

我有这个错误,有人能帮忙吗

试图获取非对象的属性时,错误集中在
。$users->username.

下面是我的代码,它有一个错误:

function GetactivationReq() 
{
    $settings = DB::table('settings')->where('id', 1)->first();    
    $users = DB::table('activationFee')->orderBy('id', 'desc')->get();
    foreach ($users as $row) {   
        $users = DB::table('users')->where('id', $row->sender_id)->first();
        $receiver = DB::table('users')->where('id', $row->receiver_id)->first();
        $user = DB::table('userdetails')->where('userid', $row->sender_id)->first();
        echo '<tr>
            <th><input type="checkbox" class="select-all" value="1"></th>
            <td>'.$users->username.'</td>
            <td>'.$user->accountname.'</td>
            <td>'.$receiver->username.'</td>
            <td>'.$settings->currency.''.$row->amount.'</td>
            <td>'.$row->payment_status.'</td>
          </tr>';
    }
}
函数GetactivationReq() { $settings=DB::table('settings')->where('id',1)->first(); $users=DB::table('activationFee')->orderBy('id','desc')->get(); foreach($users作为$row){ $users=DB::table('users')->where('id',$row->sender_id)->first(); $receiver=DB::table('users')->where('id',$row->receiver_id)->first(); $user=DB::table('userdetails')->where('userid',$row->sender_id)->first(); 回声' “.$users->username” “.$user->accountname” “.$receiver->username” “.$settings->currency.”.$row->amount “.$row->付款状态” '; } }
我想这段代码会对你有所帮助。我不知道用户名字段在哪个表中存在,所以我会给出两个选项:may b这对你有用:

function GetactivationReq() 
{
  $settings = DB::table('settings')->where('id', 1)->first();    
  $users = DB::table('activationFee')->orderBy('id', 'desc')->get();
  foreach ($users as $row) {   
  $users_new   = DB::table('users')->where('id', $row->sender_id)->first();
  $receiver = DB::table('users')->where('id', $row->receiver_id)->first();
  $user = DB::table('userdetails')->where('userid', $row->sender_id)->first();
echo '<tr>
    <th><input type="checkbox" class="select-all" value="1"></th>
    <td>'.@$users->username.'</td>
    <td>'.@$users_new->username.'</td>
    <td>'.$user->accountname.'</td>
     <td>'.$receiver->username.'</td>
    <td>'.$settings->currency.''.$row->amount.'</td>
    <td>'.$row->payment_status.'</td>';
    }
}
函数GetactivationReq() { $settings=DB::table('settings')->where('id',1)->first(); $users=DB::table('activationFee')->orderBy('id','desc')->get(); foreach($users作为$row){ $users\u new=DB::table('users')->where('id',$row->sender\u id)->first(); $receiver=DB::table('users')->where('id',$row->receiver_id)->first(); $user=DB::table('userdetails')->where('userid',$row->sender_id)->first(); 回声' “.@$users->username” “.@$users\u new->username” “.$user->accountname” “.$receiver->username” “.$settings->currency.”.$row->amount “.$row->付款状态。”; } }
代码毫无意义,但也许这一条可以帮助:


function GetactivationReq()
{
    $settings = DB::table('settings')->where('id', 1)->first();
    $activationFees = DB::table('activationFee')->orderBy('id', 'desc')->get();
    foreach ($activationFees as $row) {
        $user = DB::table('users')->where('id', $row->sender_id)->first();
        $receiver = DB::table('users')->where('id', $row->receiver_id)->first();
        $userDetail = DB::table('userdetails')->where('userid', $row->sender_id)->first();
        echo '<tr>
    <th><input type="checkbox" class="select-all" value="1"></th>
    <td>' . $user->username . '</td>
    <td>' . $userDetail->accountname . '</td>
     <td>' . $receiver->username . '</td>
    <td>' . $settings->currency . '' . $row->amount . '</td>
    <td>' . $row->payment_status . '</td>';
    }
}


函数GetactivationReq()
{
$settings=DB::table('settings')->where('id',1)->first();
$activationFees=DB::table('activationFee')->orderBy('id','desc')->get();
foreach($row的激活费){
$user=DB::table('users')->where('id',$row->sender_id)->first();
$receiver=DB::table('users')->where('id',$row->receiver_id)->first();
$userDetail=DB::table('userdetails')->where('userid',$row->sender_id)->first();
回声'
“.$user->username。”
“.$userDetail->accountname”
“.$receiver->username”
“.$settings->currency.”.$row->amount
“.$row->付款状态。”;
}
}

您有两个相同名称的变量
$users
。。因此,请更改变量名。请为我添加代码行。请适当标记-在您显示的代码中,没有任何
regex
涉及。(标签被移除。)“请你能为我添加代码行吗”-你现在是认真的吗?您需要做的就是在循环体中为变量使用不同的名称,因为否则您将覆盖实际尝试循环的$users变量。change
$users=DB::table('users')->where('id',$row->sender_id)->first()
作为
$usersDetail
和访问作为
$usersDetail->useraneme
谢谢大家,我删除了$user->username,它成功了。请点击答案左侧的复选标记来结束你的问题@UmehStanley