簡體   English   中英

Laravel:如何查詢表,從每個唯一 item_id 的列中獲取第一個值並將其分配給另一個表列

[英]Laravel: how to query a table, take the first value of from a column for each unique item_id and assign it to another table column

我對 Laravel 和一般遷移完全陌生。

我有 2 個表: claim_itemsclaim

claim_items有 2 列:

  1. claim_id並指表聲明的 id(1 個聲明可能有 1 個或多個聲明項,而 1 個或多個聲明項只有 1 個聲明)
  2. 聲明類型

聲明有許多列,其中:

  1. 身份證(當然)
  2. claim_items_type

我需要編寫一個遷移來查詢 claim_items 表,並且對於每個 claim_id (對於每個聲明),它采用 claim_type 的第一個值並將該值分配給表聲明中的列 claim_items_type (以便每個聲明都有一個列 claim_items_type 與從 claim_items 表中找到的第一個值,相對於對應的 claim_id)。

我嘗試了很多變化,最終我把一切都弄亂了,比以前更讓自己困惑。

關於如何實現這一目標的任何想法?

正如Gert B解釋的那樣,這看起來像一個自定義命令,您應該將它放在 controller 下。 遷移文件將僅包含 laravel 語言的創建表和刪除表命令,並且僅對創建數據庫表結構有用。 里面絕對沒有數據。 此外,如果您想使用自定義數據插入/更新數據庫,您應該使用 go 進行播種(這將更新數據庫中的測試數據之類的內容),或者您應該編寫自定義 controller 來為您完成這項工作。

建議是

  • 使用直接 SQL 插入或遷移文件更新您的 claim_items。
  • 編寫自定義 controller 和用戶 first() 以獲取結果的第一次出現。
$conditions['column_name'] = 'Your required value';
$answer = DB::table('claim-item')->where($conditions)->first();

您可以在循環下使用它來更接近您的要求。

暫無
暫無

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

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