質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Eloquent

Eloquentとは、PHPフレームワークのLaravelに最初から含まれているORM(Object-relational mapping:オブジェクト関係マッピング)です。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

3024閲覧

laravelバリテーションuniqueとsoftDeleteの両立

TJMYK

総合スコア82

Eloquent

Eloquentとは、PHPフレームワークのLaravelに最初から含まれているORM(Object-relational mapping:オブジェクト関係マッピング)です。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2016/10/04 08:06

編集2016/10/04 09:04

#バリテーションuniqueとsoftDeleteの両立
公式ドキュメントや、過去の質問を参照したのですが、どうしても、解決に至らず困っています。
再度、論理削除されたkey1を登録したいと思っています。

実現したいこと

過去に論理削除されたkey1を再度新しく新規登録し直すことができるようにしたい。

現在のテーブル

テーブル名:forms

idkeydeleted_at
1key12016-10-04 16:53:52
2key2NULL

バリデーション設定

PHP

1'key' => 'unique:forms,deleted_at,NULL'

上記の設定をして、再度、keyのカラムにkey1という同一のレコードを作るようにする場合
具体的にどのように記述するのが良いのでしょうか。

上記以外で必要な情報があれば、ご教授いただければ幸いです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2016/10/04 08:42

実現したいことがはっきりと見えてきません。もう少し詳しく書くことはできますでしょうか?
TJMYK

2016/10/04 09:03

実現したいこととしては、 過去に削除されたkey1を再度新しく新規登録し直すことができるようにしたいということです。
退会済みユーザー

退会済みユーザー

2016/10/04 09:07

倫理削除でke1が削除されているということですよね?でしたらそれをupdateするだけなのでは?バリテーションは何か関係あるんでしょうか?
TJMYK

2016/10/04 09:12 編集

deleted_atをupdateするということでしょうか? http://localdisk.hatenablog.com/entry/2014/07/11/183211 こちらのような記事をみつけて、再登録ができるものだと思っておりました。 この記事通りしてもうまく行かなかったので、お知恵を拝借できればと思い投稿させていただいた次第であります。
guest

回答2

0

自己解決

テーブル作成時に

PHP

1$table->string('key')->unique();

としていたものを

PHP

1$table->string('key');

とすることで正常に期待通りの動作をしました。

お騒がせいたしました。

投稿2016/10/04 09:34

TJMYK

総合スコア82

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

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

0

そもそも論理削除を理解しているのかがわからないので、少し解説させていただきますね。まず論理削除というのは実際に削除されるわけではないがユーザには見えない状態を指します。

id data deleted_flag 1 true 1 2 false 0

テーブルで説明するとこんな感じです。deleted_flagが1の時はユーザに見えて0の時は見えないようにselect文で設定してあげればいいわけですね。

記事のほうよんでみましたが、このテーブルで説明するとWHEREでdeleted_flagが1かどうかも検索条件に入れろと言いたいのではないでしょうか

投稿2016/10/04 09:32

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問