代码之家  ›  专栏  ›  技术社区  ›  Ameer Hamza

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

  •  1
  • Ameer Hamza  · 技术社区  · 7 年前

    我在algolia记录中遇到了一些问题。me People表中有一些属性(例如id(int)、user\u id(int)、name(varchar)。。。等等)。

    当我通过Laravel 5.5向数据库添加新记录时,algolia的一切都很好,但我尝试更新记录,尽管记录更新得很好,但数据类型正在改变。与更新记录之前一样,更新名称或其他内容后,user\u 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();
    

    我不是阿洛利亚的专家

    1 回复  |  直到 7 年前
        1
  •  2
  •   Ameer Hamza    7 年前

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

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

    干杯