Laravel - 字符串到整数状态
Laravel - string to int status
我在模型中有状态常量,我将状态作为整数存储在 table。
CONST STATUS_DONE = 0;
CONST STATUS_NEW = 1;
CONST STATUS_PROCESSING = 2;
当用户发出 API 请求时,他们传入字符串状态而不是整数。示例请求 Class:
public function rules()
{
return [
'name' => 'required',
'status' => 'required|in:done,new,processing',
];
}
问题是我正在尝试找出将字符串状态转换为 int 以存储在 table 中的好方法,例如:
Task::create([
'name' => $request->name,
'status' => // convert to int?
]);
您可以设置一个映射数组,将传入状态映射为一个整数。确保首先进行验证,并考虑大小写问题、间距等,这将导致不匹配。
<?php
$mapping = [
'done' => STATUS_DONE,
'new' => STATUS_NEW,
'processing' => STATUS_PROCESSING
];
$statusInteger= $mapping[$request->status];
我在模型中有状态常量,我将状态作为整数存储在 table。
CONST STATUS_DONE = 0;
CONST STATUS_NEW = 1;
CONST STATUS_PROCESSING = 2;
当用户发出 API 请求时,他们传入字符串状态而不是整数。示例请求 Class:
public function rules()
{
return [
'name' => 'required',
'status' => 'required|in:done,new,processing',
];
}
问题是我正在尝试找出将字符串状态转换为 int 以存储在 table 中的好方法,例如:
Task::create([
'name' => $request->name,
'status' => // convert to int?
]);
您可以设置一个映射数组,将传入状态映射为一个整数。确保首先进行验证,并考虑大小写问题、间距等,这将导致不匹配。
<?php
$mapping = [
'done' => STATUS_DONE,
'new' => STATUS_NEW,
'processing' => STATUS_PROCESSING
];
$statusInteger= $mapping[$request->status];