私はプライマリキーOrderGuid
で注文テーブルを持っています。これは、システムの多くの部分で順序を追跡するために使用される32ビットの一意の識別子です。Laravel/MySQL:StoreGuidに基づいてStoreOrderNumberをインクリメント
残念ながら、データが一見素敵ではないので、StoreOrderNumber
フィールドが必要と判断されています。これは、orders表内の各StoreGuid
の固有の整数になります。また、自動増分などが必要です。 StoreGuid
のテーブルに追加された最初の注文はStoreOrderNumber
に1、次の2は3などとなります。ある特定のStoreGuid
の注文はすべてStoreOrderNumber
の同じ番号付け、すなわち1から2,3 、4 ...
私は、LaravelとMySQLでこれをどうやって行うのかについて完全に空白を描きました。テーブルのフィールドに追加できる増分オプションがありますが、これは特定のStoreGuid
の新しい注文ごとに増分するだけでよいことを考慮していません。
+-----------+-----------+------------------+
| OrderGuid | StoreGuid | StoreOrderNumber |
+-----------+-----------+------------------+
| aaa111 | abc123 | 1 |
| bbb222 | abc123 | 2 |
| ccc333 | xyz789 | 1 |
| ddd444 | xyz789 | 2 |
| eee555 | abc123 | 3 |
| fff666 | xyz789 | 3 |
+-----------+-----------+------------------+
私はあなたの問題をはっきりと理解していませんが、laravelのミューテータが問題を解決できると思う:https://laravel.com/docs/5.3/eloquent-mutators#defining-a-mutator指定されたモデル要素(列)指定された条件に最大値を選択し、この要素に値+ 1を設定します。 – Mishek
テーブルの例を追加 –