2
2
3
3
namespace Illuminate \Validation \Rules ;
4
4
5
+ use BackedEnum ;
5
6
use Closure ;
6
7
use Illuminate \Contracts \Support \Arrayable ;
7
8
use Illuminate \Database \Eloquent \Model ;
@@ -81,7 +82,7 @@ public function resolveTableName($table)
81
82
* Set a "where" constraint on the query.
82
83
*
83
84
* @param \Closure|string $column
84
- * @param \Illuminate\Contracts\Support\Arrayable|array|string|int|bool|null $value
85
+ * @param \Illuminate\Contracts\Support\Arrayable|\BackedEnum|\Closure| array|string|int|bool|null $value
85
86
* @return $this
86
87
*/
87
88
public function where ($ column , $ value = null )
@@ -98,6 +99,10 @@ public function where($column, $value = null)
98
99
return $ this ->whereNull ($ column );
99
100
}
100
101
102
+ if ($ value instanceof BackedEnum) {
103
+ $ value = $ value ->value ;
104
+ }
105
+
101
106
$ this ->wheres [] = compact ('column ' , 'value ' );
102
107
103
108
return $ this ;
@@ -107,7 +112,7 @@ public function where($column, $value = null)
107
112
* Set a "where not" constraint on the query.
108
113
*
109
114
* @param string $column
110
- * @param \Illuminate\Contracts\Support\Arrayable|array|string $value
115
+ * @param \Illuminate\Contracts\Support\Arrayable|\BackedEnum| array|string $value
111
116
* @return $this
112
117
*/
113
118
public function whereNot ($ column , $ value )
@@ -116,6 +121,10 @@ public function whereNot($column, $value)
116
121
return $ this ->whereNotIn ($ column , $ value );
117
122
}
118
123
124
+ if ($ value instanceof BackedEnum) {
125
+ $ value = $ value ->value ;
126
+ }
127
+
119
128
return $ this ->where ($ column , '! ' .$ value );
120
129
}
121
130
0 commit comments