Aloglia记录正在使用错误的数据类型进行更新

时间:2018-02-21 11:25:45

标签: mysql laravel-5.5 algolia

我在algolia记录中遇到了一些问题。我在People表中有一些属性(例如id(int),user_id(int),name(varchar)......等)。

当我通过Laravel 5.5将新记录添加到数据库时,一切都在algolia工作正常,但我尝试更新记录然后虽然记录完美更新但数据类型正在改变。与更新之前的记录一样,user_id在更新名称之后是int = 6,否则user_id将隐式转换为varchar。

我不知道发生了什么。

在更新此记录之前:

enter image description here

更新同一记录后:

enter image description here

插入代码为:

 $new_person = People::create([
            'user_id' => Auth::user()->id,
            'stage_id' => 0,
            'source_id' => 0,
            'agent_id' => 0,
            'custom_field_id' => 0,
            'fname' => $request->first_name,
            'lname' => $request->last_name,
            'phone' => $request->phone,
            'email' => $request->email,
            'avatar' => "/images/user.png",
            'name_slug' => createPeopleSlug($request->first_name , $request->last_name)
        ]);

更新代码为:

$person = People::find($request->personID);
            $person->tags = $tagsString;
            $person->save();

我不是Aloglia的专家

1 个答案:

答案 0 :(得分:2)

通过将Laravel casts变量添加到模型中,可以解决此问题,简单。

protected $casts = [
    'user_id' => 'integer',
    'agent_id' => 'integer',
    'company_person_id' => 'integer',
];

干杯!