首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel控制器中将JSON转换为模型

在Laravel控制器中将JSON转换为模型
EN

Stack Overflow用户
提问于 2015-03-12 13:04:38
回答 2查看 2.9K关注 0票数 0

嗨,有来自jQuery的ajax调用:

代码语言:javascript
复制
$.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;
               }
            }
         );

它很好地将数据传递给我的控制器:

代码语言:javascript
复制
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,“别名”:“Mi-Lupa”,"name":"Mi Lupa“……),所以我在控制器中的getItem函数中得到的只是一个包含该信息的字符串。我想把那个json变成一个模型,这样我就可以玩它了,但是我无法在Laravel找到这样的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-12 13:12:37

您可以使用json_decode

在您的控制器中,您可以这样做

代码语言:javascript
复制
$loupe = json_decode($input['loupe'])->id // this will give you the id 30 of loupe

既然有了loupe id,就可以使用Loupe::find($loupe)了,如果您有Loupe模型的话

希望这能有所帮助

票数 1
EN

Stack Overflow用户

发布于 2015-03-12 13:14:28

嗯,你可以很容易地在拉拉维尔做这件事。假设您得到json字符串,就像

代码语言:javascript
复制
$jsonString = "{'id':'1','name':'ABC','age':'20'}";

首先,您可以通过调用stdClass函数将其转换为解码函数。

代码语言:javascript
复制
$rawUserData = json_decode($jsonString);

然后假设您有一个名为"User“的雄辩模型。您可以使用上面的User对象的数据创建$rawUserData类的实例,如下所示。

代码语言:javascript
复制
$userAbc = new User();
$userAbc->fill( get_object_vars($rawUserData) ); 

瓦尔斯所做的就是将$rowUserData属性转换为数组。就这样,有了json数据的用户模型。

注意:您可能需要在雄辩模型中检查$fillable$guard属性,以筛选希望填充质量分配的属性。

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29010604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档