🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

2回答

648閲覧

【laravel】1週間経つとレコードが別テーブルに転送される仕組みをつくりたい

yuri1333

総合スコア2

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2021/02/10 11:31

laravel勉強しはじめです。

SyosinsyaUserテーブル
Userテーブル
を用意します。

初心者ユーザー一覧があり、
初心者がアカウントを作成して1週間経つと
そのレコードはUserテーブルにデータが移行し、ユーザーの一覧に表示されるようなシステムを作りたいです。

created_at→addDay(7)

まで思いついたのですが、、。
それ以降調べてもわからないです。
どなたか知恵をお借りできないでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

SyosinsyaUserテーブル

Userテーブル

SQLアンチパターンにありそうな代表的なアンチパターン

自分だったら、users テーブルに activating_at という Datetime 型のカラムを用意し、
created_at に 7 days 足した値を持っておく。

登録時に わざわざ加工しなくてもいいように Observer で自動的に設定できるようにするのが良いでしょう。

その上で、せっかく Laravel を使っているなら、GlobalScope に

whereDate('activating_at', '<=', now());

という条件を設定しておく。

投稿2021/02/10 12:19

phper.k

総合スコア3923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

初心者がアカウントを作成して1週間経つとユーザーの一覧に表示される

2つのテーブルではなくUserテーブルに初心者かどうか判断できるカラムを追加してはどうでしょうか。

Userテーブル
|ID|名前|初心者|作成日|
|:--|:--:|--:|
|1001|山田|0|2002/01/05|
|1002|鈴木|1|2021/02/10|

初心者=’0’の条件で取得しておけば、初心者以外のユーザーが一覧で取得できます。

毎日動作する日次処理のようなプログラムで、
作成日から1週間経ったか判断して、初心者のカラムをUpdate文で更新することで
初心者でなくしていけば移行までしなくても目的は達成できるのではないかと思います。

|ID|名前|初心者|作成日|
|:--|:--:|--:|
|1001|山田|0|2002/01/05|
|1002|鈴木|0|2021/02/10|

投稿2021/02/10 12:07

taketoma

総合スコア374

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問