我想获取验证规则中传递的参数.
对于我创建的某些验证规则,我能够从验证规则中获取参数,但是对于很少的规则,它没有获取参数.
在模型中我使用以下代码:
public static $rules_sponsor_event_check = array(
'sponsor_id' => 'required',
'event_id' => 'required|event_sponsor:sponsor_id'
);
Run Code Online (Sandbox Code Playgroud)
在ValidatorServiceProvider中,我使用以下代码:
Validator::extend('event_sponsor', function ($attribute, $value, $parameters) {
$sponsor_id = Input::get($parameters[0]);
$event_sponsor = EventSponsor::whereIdAndEventId($sponsor_id, $value)->count();
if ($event_sponsor == 0) {
return false;
} else {
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
但在这里,我无法使用以下内容获得赞助商ID:
$sponsor_id = Input::get($parameters[0]);
Run Code Online (Sandbox Code Playgroud) 需要转义以下json
{
"xx": 'a',
"yy": "bb"
}
Run Code Online (Sandbox Code Playgroud)
在javascript中进入以下结构
{\r\n\t\"xx\": 'a',\r\n\t\"yy\": \"bb\"\r\n}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过此链接中的代码建议,如何使用 JavaScript 转义包含换行符的 JSON 字符串?
var request = {
"xx": "aaa",
"yy": "bb"
}
var myJSONString = JSON.stringify(request);
var myEscapedJSONString = myJSONString.replace(/\\n/g, "\\n").replace(/\\'/g, "\\'").replace(/\\"/g, '\\"').replace(/\\&/g, "\\&").replace(/\\r/g, "\\r").replace(/\\t/g, "\\t").replace(/\\b/g, "\\b").replace(/\\f/g, "\\f");
Run Code Online (Sandbox Code Playgroud)
但没有用,请帮忙。
代码必须像下面这样转义
$input['activities'] = array(3,2,5);
foreach($input['activities'] as $activity_id){
$user_activities = new User_activities;
$user_activities->activity_id = $activity_id;
$user_activities->user_id = Auth::id();
$user_activities->save();
}
Run Code Online (Sandbox Code Playgroud)
是否可以使用单行脚本为Laravel中的每个语句执行上述操作?而不是进行保存foreach,是否可以在一行中完成?
laravel ×2
eloquent ×1
escaping ×1
insert ×1
javascript ×1
json ×1
mysql ×1
php ×1
save ×1
validation ×1