【发布时间】:2016-10-20 22:59:43
【问题描述】:
我正在尝试从名为“producers”的表中获取所有记录,但出现以下错误。
Missing argument 1 for Illuminate\Support\Collection::get(), called in /var/www/html/wines/storage/framework/views/ac350063efb624ac50d199628897fd7d72bc196c.php on line 63 and defined (View: /var/www/html/wines/resources/views/admin/producers.blade.php)
这是我的文件: (迁移)
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProducerTable extends Migration {
public function up()
{
Schema::create('producers', function (Blueprint $table) {
$table->increments('id');
$table->string('producer_name');
$table->string('phone_number');
$table->string('user_id')->unique();
$table->string('avatar')->default('default.jpg');
$table->timestamps();
});
}
public function down()
{
Schema::drop('producers');
}
}
我的生产者控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class ProducerController extends Controller {
public function __construct() {
$this->middleware('isProducer');
} }
生产者模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Producer extends Model {
protected $table = 'producers';
protected $fillable = [
'id','producer_name', 'phone_number','user_id','avatar'
];
protected $hidden = [
];
}
然后当我使用
public function admin_producers() {
return view('admin.producers',array('user'=>Auth::user(),'producer'=>Producer::get()));
}
在控制器上获取我的所有记录我得到了那个错误。我也尝试过 Producer::all() 但结果相同,但没有运气。 我在这里做了什么蠢事?
【问题讨论】:
-
你能告诉我们方法
Producer::get吗?我认为这种方法需要ID。如果你想检索所有的生产者,你能告诉我们Producer::all的方法吗? -
感谢您的回答。我的问题不是得到,而是刀片中的那个:@foreach($producer->get() as $producer_r)。更改为 @foreach($producer->all() as $producer_r) 并且工作正常。谢谢。
-
如何将其标记为已解决?
-
好的。我建议你将
$producer->all()的结果放在一个变量中,因为在foreach 的每个循环中,你都会重新执行调用。 -
如果您想标记为已解决,请回复您的第一个帖子并将其标记为答案。
标签: php database laravel model