Laravel 设置属性不起作用

Pet*_*ack 0 php laravel eloquent laravel-5.2 laravel-eloquent

我需要 2 个函数添加和更新用户社交与序列化数组到字符串之前插入到数据库这里我的代码

    <?php
use Illuminate\Database\Eloquent\Model as Model;
class User extends Model{
    protected $table = 'user';
    protected $primaryKey = 'user_id';

    protected $fillable = [
        'name', 
        'email', 
        'socials',
    ];

    public function getSocialsAttribute($value){
       return unserialize($value);
    }

    public function setSocialsAttribute($value){
        settype($value, 'array');
        $this->attributes['socials'] = serialize($value);
    }

}
Run Code Online (Sandbox Code Playgroud)

在我的控制器中

$user_id = User::insert($request->post);
Run Code Online (Sandbox Code Playgroud)

帖子数组与

array(
   'name'=>'A',
   'email'=>'Test@gmail.com',
   'socials'=> array(
     'facebook' => 'facebook.com',
     'twitter' => 'twiter.com'
   )
)
Run Code Online (Sandbox Code Playgroud)

但是数据库不会序列化数据!

ace*_*777 6

我认为它在insert方法上不起作用。尝试使用该create方法将数据插入数据库。

$user = User::create($request->post);
Run Code Online (Sandbox Code Playgroud)