嗨,有来自jQuery的ajax调用:
$.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,“别名”:“Mi-Lupa”,"name":"Mi Lupa“……),所以我在控制器中的getItem函数中得到的只是一个包含该信息的字符串。我想把那个json变成一个模型,这样我就可以玩它了,但是我无法在Laravel找到这样的方法。
发布于 2015-03-12 13:12:37
您可以使用json_decode。
在您的控制器中,您可以这样做
$loupe = json_decode($input['loupe'])->id // this will give you the id 30 of loupe既然有了loupe id,就可以使用Loupe::find($loupe)了,如果您有Loupe模型的话
希望这能有所帮助
发布于 2015-03-12 13:14:28
嗯,你可以很容易地在拉拉维尔做这件事。假设您得到json字符串,就像
$jsonString = "{'id':'1','name':'ABC','age':'20'}";首先,您可以通过调用stdClass函数将其转换为解码函数。
$rawUserData = json_decode($jsonString);然后假设您有一个名为"User“的雄辩模型。您可以使用上面的User对象的数据创建$rawUserData类的实例,如下所示。
$userAbc = new User();
$userAbc->fill( get_object_vars($rawUserData) ); 瓦尔斯所做的就是将$rowUserData属性转换为数组。就这样,有了json数据的用户模型。
注意:您可能需要在雄辩模型中检查$fillable或$guard属性,以筛选希望填充质量分配的属性。
希望这能有所帮助。
https://stackoverflow.com/questions/29010604
复制相似问题