将 JSON 转换为 Laravel 控制器中的模型
Convert JSON to model in Laravel controller
你好 ajax 来自 jQuery 的电话:
$.ajax(
{
type:'POST',
url:link.href + "/item",
cache: false,
data: { "loupe": loupe, "element": element, "loupeElements": loupeElements, "loupeAlias": loupeAlias, "elementAlias": elementAlias },
success: function(data){
$(".carousel-content").animate({opacity:1}, 300);
$(".carousel-content").html(data);
FB.XFBML.parse();
twttr.widgets.load()
return true;
}
}
);
它很好地向我的控制器传递数据:
class IndexController extends Controller {
public function getItem()
{
$input = Input::all();
$loupe = $input['loupe'];
$element = $input['element'];
$loupeElements = $input['loupeElements'];
$loupeAlias = $input['loupeAlias'];
$elementAlias = $input['elementAlias'];
return View::make('_partials.item', $input);
}
问题是 javascript 变量 loupe、element 和 loupeElements 以逗号分隔 json's ({"id":30,"alias":"mi-lupa"," name":"Mi Lupa".....),所以我在控制器的 getItem 函数中得到的只是一个包含该信息的字符串。我想将 json 转换为模型以便我可以使用它,但是我无法在 Laravel.
中找到执行此操作的方法
您可以使用 json_decode
.
在你的控制器中你可以做这样的事情
$loupe = json_decode($input['loupe'])->id // this will give you the id 30 of loupe
现在您已经 loupe id
如果您有放大镜模型,您可以使用 Loupe::find($loupe)
希望这对您有所帮助
嗯,您可以在 Laravel 中轻松完成。
假设您得到 json 字符串,例如
$jsonString = "{'id':'1','name':'ABC','age':'20'}";
首先,您可以通过调用 json_decode 函数将其转换为 stdClass。
$rawUserData = json_decode($jsonString);
然后假设您有一个名为“User
”的 Eloquent 模型。
您可以使用上述 $rawUserData
对象的数据创建 User
class 的实例,如下所示。
$userAbc = new User();
$userAbc->fill( get_object_vars($rawUserData) );
get_object_vars does 所做的是,它将 $rowUserData
属性转换为数组。
所以你有它,具有 json 数据的用户模型。
注意:您可能需要检查 eloquent 模型中的 $fillable
或 $guard
属性,以过滤要填充的属性 mass assignment。
希望对您有所帮助。
你好 ajax 来自 jQuery 的电话:
$.ajax(
{
type:'POST',
url:link.href + "/item",
cache: false,
data: { "loupe": loupe, "element": element, "loupeElements": loupeElements, "loupeAlias": loupeAlias, "elementAlias": elementAlias },
success: function(data){
$(".carousel-content").animate({opacity:1}, 300);
$(".carousel-content").html(data);
FB.XFBML.parse();
twttr.widgets.load()
return true;
}
}
);
它很好地向我的控制器传递数据:
class IndexController extends Controller {
public function getItem()
{
$input = Input::all();
$loupe = $input['loupe'];
$element = $input['element'];
$loupeElements = $input['loupeElements'];
$loupeAlias = $input['loupeAlias'];
$elementAlias = $input['elementAlias'];
return View::make('_partials.item', $input);
}
问题是 javascript 变量 loupe、element 和 loupeElements 以逗号分隔 json's ({"id":30,"alias":"mi-lupa"," name":"Mi Lupa".....),所以我在控制器的 getItem 函数中得到的只是一个包含该信息的字符串。我想将 json 转换为模型以便我可以使用它,但是我无法在 Laravel.
中找到执行此操作的方法您可以使用 json_decode
.
在你的控制器中你可以做这样的事情
$loupe = json_decode($input['loupe'])->id // this will give you the id 30 of loupe
现在您已经 loupe id
如果您有放大镜模型,您可以使用 Loupe::find($loupe)
希望这对您有所帮助
嗯,您可以在 Laravel 中轻松完成。 假设您得到 json 字符串,例如
$jsonString = "{'id':'1','name':'ABC','age':'20'}";
首先,您可以通过调用 json_decode 函数将其转换为 stdClass。
$rawUserData = json_decode($jsonString);
然后假设您有一个名为“User
”的 Eloquent 模型。
您可以使用上述 $rawUserData
对象的数据创建 User
class 的实例,如下所示。
$userAbc = new User();
$userAbc->fill( get_object_vars($rawUserData) );
get_object_vars does 所做的是,它将 $rowUserData
属性转换为数组。
所以你有它,具有 json 数据的用户模型。
注意:您可能需要检查 eloquent 模型中的 $fillable
或 $guard
属性,以过滤要填充的属性 mass assignment。
希望对您有所帮助。