如何修复类 Illuminate\Database\Eloquent\Collection 的对象无法转换为 int
Posted
技术标签:
【中文标题】如何修复类 Illuminate\\Database\\Eloquent\\Collection 的对象无法转换为 int【英文标题】:how to fix Object of class Illuminate\Database\Eloquent\Collection could not be converted to int如何修复类 Illuminate\Database\Eloquent\Collection 的对象无法转换为 int 【发布时间】:2019-05-29 01:12:05 【问题描述】:当我想创建新帖子时,它返回此错误 Illuminate\Database\Eloquent\Collection 类的对象无法转换为 int(查看:C:\xampp\htdocs\new-project\resources\views\admin \posts\create.blade.php
公共函数 create()
$categories = Category::all('id','name');
return view('admin.posts.create')->with('categories', $categories);
我的看法是
<div class="row">
<div class="col-md-8 col-md-offset-2 panel panel-default">
<h1>ایجاد پست</h1>
!! Form::open(['method' => 'POST','action'=>'AdminPostsController@store','files'=>true]) !!
<div class="form-group">
!! Form::label('title','عنوان:') !!
!! Form::text('title',null,['class'=>'form-control']) !!
</div>
--<div class="form-group">--
!! Form::label('category_id','بخش:') !!
--!! Form::select('category_id',[''=>'زیر مجموعه مورد نظر را انتخاب کنید']+$categories,null,['class'=>'form-control']) !!--
--</div>--
!! Form::select('category_id',[''=>'زیر مجموعه مورد نظر را انتخاب کنید']+$categories,null,['class'=>'form-control']) !!
<div class="form-group">
!! Form::label('photo_id','عکس:') !!
!! Form::file('photo_id',['class'=>'form-control']) !!
</div>
<div class="form-group">
!! Form::label('excerpt','خلاصه:') !!
!! Form::text('excerpt',null,['class'=>'form-control']) !!
</div>
<div class="form-group">
!! Form::label('title','متن:') !!
!! Form::textarea('body',null,['class'=>'form-control']) !!
</div>
<div class="form-group">
!! Form::submit('ایجاد پست',['class'=>'btn btn-success btn-block']) !!
</div>
!! Form::close() !!
@include('partcial.form-error')
</div>
</div>
<div>
<script>
$(document).ready(function()
$('.selection').select2();
);
</script>
</div>
【问题讨论】:
$categories
是一个集合(对象数组),您正在尝试将其作为整数添加到表单选择中。如果您想要类别总数,请使用$categories->count()
我实际上将 pluck('id',name) 用于 $categories 并希望有选择的类别列表
【参考方案1】:
你可以这样做:
<select>
<option value=0 > زیر مجموعه مورد نظر را انتخاب کنید </option>
@foreach($categories as $category)
<option value=$category->id > $category->name </option>
</select>
【讨论】:
以上是关于如何修复类 Illuminate\Database\Eloquent\Collection 的对象无法转换为 int的主要内容,如果未能解决你的问题,请参考以下文章
call_user_func_array() 期望参数 1 是一个有效的回调,类 'Illuminate\Database\MySqlConnection' 没有方法 'query'
无法实例化抽象类Illuminate Database Eloquent Model - Laravel 4
方法 Illuminate\Database\Eloquent\Collection::detach 不存在。 (我该如何解决?)