作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Laravel 的新手,我想将这个数组存储在数据库中。
这是我的数组的 php 代码:
$socialNetwork = array();
$socialNetwork[0]["name"]= "Facebook";
$socialNetwork[0]["account"]= "facebook_account";
$socialNetwork[1]["name"]= "Twitter";
$socialNetwork[1]["account"]= "twitter_account";
$socialNetwork[2]["name"]= "Instagram";
$socialNetwork[2]["account"]= "insta_account";
var_dump()
看起来像这样:
array(3) {
[0] => array(2) {
["name"] => string(8) "Facebook"
["account"] => string(16) "facebook_account"
}
[1] => array(2) {
["name"] => string(7) "Twitter"
["account"] => string(15) "twitter_account"
}
[2] => array(2) {
["name"] => string(9) "Instagram"
["account"] => string(13) "insta_account"
}
}
我已经尝试了几种方法,但我无法让它工作!
请帮忙写代码。表名是socialAccounts
最佳答案
在您的数据库中为该字段添加一列; JSON 或 TEXT 类型将完成这项工作。
接下来,您应该将列添加到 SocialAccount
模型的 $casts
数组中:
protected $casts = [
'facebook_account' => 'array',
];
现在,无论何时检索此值,它都会为您反序列化。
要存储值,只需使用json_encode()
:
$social_account->facebook_account = json_encode($facebookArrayData);
$social_account->save();
您可以在文档中阅读更多关于属性转换的信息; https://laravel.com/docs/7.x/eloquent-mutators#attribute-casting
关于php - 如何在 Laravel 中存储关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61311936/
我是一名优秀的程序员,十分优秀!