簡體   English   中英

在Laravel 5.6多關系設置中向何處添加邏輯

[英]Where to add logic to in Laravel 5.6 multi-relation setup

我對laravel並不陌生,目前正在構建我的第一個項目。 我現在處於一個階段,在這里我還不清楚如何正確構建數據庫表關系以及在何處添加應用程序邏輯。

我有或想要以下設置:

users table
id | name | email
-----------------
1  | Cathy| cathy@mail.com
2  | Hans | hans@mail.com

gifts table
id | name     | description
-----------------------------------------
45  | Football | Adidas Telstar 18
46  | Football shoes | Adidas Predator 18.3

purchases table
id | gift_id | confirmed
---------------------------
1  | 45         | null

reservations table
id | gift_id | user_id
---------------------------
1  | 46      | 2

說明:

目標是讓一群人組織他們將要提供的東西。

有一個禮物表,它通過資源控制器的索引方法將所有禮物表打印到視圖中。 在此表中,我希望每個人都可以單擊兩個按鈕:“標記為已購買”和“標記為保留”。 一個人可能在“願望清單”上將禮物標記為已保留,並且由於其他人不能再這樣做了(並且知道另一個人會將其作為禮物)。 或者,可以將一份禮物標記為已購買,超出要求,並由管理員確認購買。

我目前創建了三個模型和一個資源控制器。 禮品模型具有2個“ hasOne”關系,首先是購買模型,其次是預訂模型。 購買模型和儲備模型與禮物模型具有“ belongsTo”關系。

我目前無法做的是,根據禮物在購買或預訂表中是否有條目來區分“標記為已保留”和“標記為已購買”按鈕的不同狀態?放置這個邏輯?

我認為的偽代碼當前為:

foreach(gifts as gift)
    gift->name
    gift->description
    makePurchase form-submit-button
    makeReservation form-submit-button
endforeach

希望這個描述足夠了,否則讓我知道。

謝謝你的幫助!

您可以簡單地檢查這些關系是否存在:

@if ($gift->reservation && $gift->reservation->user_id == auth()->id())

    //Show purchase button

@elseif(!$gift->reservation && !$gift->purchase)

    //Show reservation button

@endif

暫無
暫無

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

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