簡體   English   中英

如何在 Laravel 中創建自定義關系?

[英]How do I create a custom relationship in laravel?

是否可以像這樣在 Laravel 中創建自定義關系,

SELECT tasks.* 
FROM tasks
LEFT JOIN priorities ON tasks.priority_identifier LIKE CONCAT('%', priorities.identifier)
WHERE priority.id = 10

我可以使用查詢構建器來創建這個連接,但是我如何將它作為 Laravel 關系返回?

編輯

我正在嘗試在不使用現有關系方法(hasMany、hasOne 等)的情況下執行此操作

是的,您可以像任何其他查詢構建器一樣向 Laravel 關系添加條件。 我不知道你的關系會是什么樣子,但你可以這樣做,例如:

public function tasks()
{
    return $this->hasMany(Task::class)
        ->where('priority', 10);
}

我不認為您可以創建自定義關系,除非覆蓋 Eloquent 基類

並添加您自己的。

但是您可以使用 Eloquent scopes替代自定義關系

也看看這里這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM