首页 > 解决方案 > 试图获取对象属性,但我得到“试图获取非对象的属性'状态'”

问题描述

我正在尝试获取特定列数据并通过 if 语句运行它来检查状态是否得到确认,但我收到“尝试获取非对象的属性'状态'”错误

这是我的控制器;

public function transaction(Request $request){
        request()->validate([
            'amount' => 'required'
        ]);
        $trans = Transaction::where('user_id', Auth::user()->id)->orderBy('id', 'desc')->first();
        if(Auth::user()->transaction && !$trans->status){
            return redirect()->back()->with("error", "You currently have a withdrawal request pending confirmation");
        }
        if($request->input('amount') > Auth::user()->balance){
            return redirect()->back()->with("error", "Insufficient balance to complete request");
        }
        Mail::to('mail@gmail.com')->send(new transaction($request));

        $transaction->save();
        return redirect()->back()->with("success", "Your withdrawal request has successfully been received");


    }

我的交易模式;

namespace App;

use Illuminate\Database\Eloquent\Model;

class Transaction extends Model
{
    protected $guarded = [];

    public function user(){

        return $this->belongsTo('App\User');

    }
}

标签: laraveleloquent

解决方案


在这一行之后 $trans = Transaction::where('user_id', Auth::user()->id)->orderBy('id', 'desc')->first(); 检查这个 `if($trans == '' || $trans == null) { return redirect()->back()->with("error", "No trans available"); }


推荐阅读