繁体   English   中英

Laravel 6 - Illuminate\Database\Eloquent\RelationNotFoundException 调用未定义的关系

[英]Laravel 6 - Illuminate\Database\Eloquent\RelationNotFoundException Call to undefined relationship

我想将Supplier表中的nama列发送到Transaction_in表,但出现此错误。

Illuminate\Database\Eloquent\RelationNotFoundException 调用 model [App\Transaction_in] 上的未定义关系 [get_transactions_in]。

Transaction_in Model

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

    public function get_suppliers(){
        return $this->belongsTo(Supplier::class, 'Supplier_id');
    }
}

供应商 Model

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

    public function get_transactions_in(){
        return $this->hasMany(Transaction_in::class);
    }
}

Transaction_in Controller

public function index()
    {
        $transaction_ins = Transaction_in::with('get_transactions_in')->get();
        return view('transactionsIN.index', compact('transaction_ins', $transaction_ins, 'supplierList'));
    }

外键是Supplier_id基于Supplier表中的id

您调用的错误with应该是get_suppliers而不是get_transactions_in

Transaction_in Model 有get_suppliers方法所以,

$transaction_ins = Transaction_in::with('get_suppliers')->get();

只需将您的 controller 代码更改为以下

public function index()
    {
        $transaction_ins = Transaction_in::with('get_suppliers')->get();
        return view('transactionsIN.index', compact('transaction_ins', $transaction_ins, 'supplierList'));
    }

你得到一个错误,因为在你的 Transaction_in model 中没有像“get_transactions_in”这样的关系

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM