I have array to string conversion error in migration
Where is your migration?
show complete error and the line it is on
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
HI folks, I have array to string conversion error in migration, i'm trying to implement spatie laravel-translatable package. I have a member table, the Model Member is:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Spatie\Translatable\HasTranslations;
class Member extends Model
{
use HasTranslations;
protected $guarded = [];
protected $dateFormat = 'd.m.Y';
protected $table = 'members';
public $translatable = ['name','about','company','country','language','role','job','address','nationality'];
}
in the MemberController
public function addFormMember(Request $request)
{
$data = [];
if (!$request->has('main_view'))
$request->request->add(['main_view' => 0]);
else
$request->request->add(['main_view' => 1]);
if (!$request->has('member_view'))
$request->request->add(['member_view' => 0]);
else
$request->request->add(['member_view' => 1]);
$fileName = "";
if ($request->has('photo')) {
$fileName = uploadImage('members', $request->photo);
}
$data['name'] = ['en' => $request->name, 'ar' => $request->name_ar, 'fr' => $request->name_fr];
$data['country'] = ['en' => $request->country, 'ar' => $request->country_ar, 'fr' => $request->country_fr];
$data['address'] = ['en' => $request->address, 'ar' => $request->address_ar, 'fr' => $request->address_fr];
$data['nationality'] = ['en' => $request->nationality, 'ar' => $request->nationality_ar, 'fr' => $request->nationality_fr];
$data['company'] = ['en' => $request->company, 'ar' => $request->company_ar, 'fr' => $request->company_fr];
$data['job'] = ['en' => $request->job, 'ar' => $request->job_ar, 'fr' => $request->job_fr];
$data['Language'] = ['en' => $request->Language, 'ar' => $request->Language_ar, 'fr' => $request->Language_fr];
$data['role'] = ['en' => $request->role, 'ar' => $request->role_ar, 'fr' => $request->role_fr];
$data['about'] = ['en' => $request->about, 'ar' => $request->about_ar, 'fr' => $request->about_fr];
$data['photo'] = $fileName;
$data['email'] = $request->photo;
$data['telephone'] = $request->telephone;
$data['twitter'] = $request->twitter;
$data['facebook'] = $request->facebook;
$data['instagram'] = $request->instagram;
$data['membership_date'] = $request->membership_date;
$data['main_view'] = $request->main_view;
$data['member_view'] = $request->member_view;
Member::create($data);
return redirect()->route('add.member')->with(['success' => 'Saved Successfully']);
}
in add member blade template
<form action="{{ route('add.form.member') }}" method="POST" enctype="multipart/form-data" novalidate>
@csrf
<input type="hidden" name="id" value="">
<div class="row">
{{-- <div class="col-12 col-sm-4"> col-md-4 mb-3 --}}
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Name ar</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="name_ar" value="{{old('name')}}">
</div>
@error('name_ar')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Name en</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="name">
</div>
@error('name')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Name fr</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="name_fr">
</div>
@error('name_fr')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
</div>
<div class="row ">
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput3">Date of Birth</label>
<input type="date" name="birthday" id="complaintinput3" class="form-control round" name="birthday">
</div>
@error('birthday')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput3">Membership Date</label>
<input type="date" id="complaintinput3" class="form-control round" name="membership_date">
</div>
@error('membership_date')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4" style="margin-top: 15px">
<div class="controls">
<label for="complaintinput1">
<input type="checkbox" name="main_view" value="1">
<span style="margin: 5px">Main view</span>
</label>
</div>
<label for="complaintinput1">
{{-- <input type="checkbox" name="member_view" value="1" checked > --}}
<input type="checkbox" name="member_view" value="1" >
<span style="margin: 5px">Member view</span>
</label>
</div>
</div>
<div class="row ">
<div class="form-group col-xl-12 col-md-4">
<div class="controls">
<label for="complaintinput3">Email</label>
<input type="text" name="email" id="complaintinput3" class="form-control round">
</div>
@error('email')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
</div>
</div>
<div class="row">
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Country ar</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="country_ar">
</div>
@error('country_ar')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Country en</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="country">
</div>
@error('country')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Country fr</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="country_fr">
</div>
@error('country_fr')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Address ar</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="address_ar">
</div>
@error('address_ar')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Address en</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="address">
</div>
@error('address')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Address fr</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="address_fr">
</div>
@error('address_fr')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">nationality ar</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="nationality_ar">
</div>
@error('nationality_ar')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">nationality en</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="nationality">
</div>
@error('nationality')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Nationality fr</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="nationality_fr">
</div>
@error('nationality')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Company ar</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="company_ar">
</div>
@error('company_ar')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Company en</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="company">
</div>
@error('company')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Company fr</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="company_fr">
</div>
@error('company_fr')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Job ar</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="job_ar">
</div>
@error('job_ar')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Job en</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="job">
</div>
@error('job')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Job fr</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="job_fr">
</div>
@error('job_fr')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<div class="form-group">
<label for="complaintinput1">Language ar</label>
<input type="text" name="language_ar" id="complaintinput1" class="tm-input form-control round tm-input-info "/>
</div>
</div>
@error('language_ar')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<div class="form-group">
<label for="complaintinput1">Language en</label>
<input type="text" name="language" id="complaintinput1" class="tm-input form-control round tm-input-info "/>
</div>
</div>
@error('language')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<div class="form-group">
<label for="complaintinput1">Language fr</label>
<input type="text" name="language_fr" placeholder=" " id="complaintinput1" class="tm-input form-control round tm-input-info "/>
</div>
</div>
@error('language_fr')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Role ar</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="role_ar">
</div>
@error('role_ar')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Role en</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="role">
</div>
@error('role')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">Role fr</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="role_fr">
</div>
@error('role_fr')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">instagram</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="instagram">
</div>
@error('instagram')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">facebook</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="facebook">
</div>
@error('facebook')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">twitter</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="twitter name" name="twitter">
</div>
@error('twitter')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
</div>
<div class="row">
<div class="form-group col-xl-6 col-md-4">
<div class="controls">
<label for="complaintinput1">Telephone</label>
<input type="text" id="complaintinput1" class="form-control round" placeholder="company name" name="telephone">
</div>
@error('telephone')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-xl-6 col-md-4" style="margin-top: 10px">
<label for="complaintinput1"></label>
<div class="controls">
<label id="projectinput8" class="file center-block">Select file
<input type="file" id="file" name="photo">
<span class="file-custom"></span>
</label>
</div>
@error('photo')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
</div>
<div class="row">
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">About in arabic</label>
<textarea id="complaintinput5" rows="5" class="form-control round" name="about_ar" placeholder="details"></textarea>
</div>
@error('about_ar')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">About in english</label>
<textarea id="complaintinput5" rows="5" class="form-control round" name="about" placeholder="details"></textarea>
</div>
@error('about')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="form-group col-md-4">
<div class="controls">
<label for="complaintinput1">About in french</label>
<textarea id="complaintinput5" rows="5" class="form-control round" name="about_fr" placeholder="details"></textarea>
</div>
@error('about_fr')
<span class="text-danger">{{ $message }}</span>
@enderror
</div>
<div class="col-12 d-flex flex-sm-row flex-column justify-content-end mt-1">
<button type="submit" class="btn btn-primary glow mb-1 mb-sm-0 mr-0 mr-sm-1">Save
changes</button>
{{-- <button type="reset" class="btn btn-light">Cancel</button> --}}
</div>
</div>
</div>
</form>
I would appreciate so much your help !
This is not the best way but i could avoid the error by adding to $request variable before storing it in db,
public function addFormMember(Request $request)
{
$data = [];
$member = new Member();
if (!$request->has('main_view'))
$request->request->add(['main_view' => 0]);
else
$request->request->add(['main_view' => 1]);
if (!$request->has('member_view'))
$request->request->add(['member_view' => 0]);
else
$request->request->add(['member_view' => 1]);
$fileName = "";
if ($request->hasFile('photo')) {
$image = $request->file('photo');
$fileName = $image->getClientOriginalName();
$image_resize = Image::make($image->getRealPath())->resize(300, 200);
$image_resize->save(public_path('images/members/'. $fileName));
}
$name = array(['en' => $request->name, 'ar' => $request->name_ar, 'fr' => $request->name_fr]);
$country = array(['en' => $request->country, 'ar' => $request->country_ar, 'fr' => $request->country_fr]);
$address = array(['en' => $request->address, 'ar' => $request->address_ar, 'fr' => $request->address_fr]);
$nationality = array(['en' => $request->nationality, 'ar' => $request->nationality_ar, 'fr' => $request->nationality_fr]);
$company = array(['en' => $request->company, 'ar' => $request->company_ar, 'fr' => $request->company_fr]);
$job = array(['en' => $request->job, 'ar' => $request->job_ar, 'fr' => $request->job_fr]);
$language = array(['en' => $request->language, 'ar' => $request->language_ar, 'fr' => $request->language_fr]);
$role = array(['en' => $request->role, 'ar' => $request->role_ar, 'fr' => $request->role_fr]);
$about = array(['en' => $request->about, 'ar' => $request->about_ar, 'fr' => $request->about_fr]);
//$member->member_view
$member->photo = $fileName;
$member->email = $request->email;
$member->telephone = $request->telephone;
$member->twitter = $request->twitter;
$member->facebook = $request->facebook;
$member->instagram = $request->instagram;
$member->membership_date = $request->membership_date;
$member->birthday = $request->birthday;
$member->main_view = $request->main_view;
$member->member_view = $request->member_view;
$member->setTranslations('name', $name);
$member->setTranslations('country', $country);
$member->setTranslations('address', $address);
$member->setTranslations('nationality', $nationality);
$member->setTranslations('company', $company);
$member->setTranslations('language', $language);
$member->setTranslations('job', $job);
$member->setTranslations('role', $role);
$member->setTranslations('about', $about);
$member->save();
return redirect()->route('add.member')->with(['success' => 'Saved Successfully']);
}
Thanks a lot Snapey for your support !
Please or to participate in this conversation.