laravel - BadMethodCallException : 方法 Illuminate\Database\Query\Builder::offers 不存在
问题描述
我正在尝试在Laravel 5.6.39上执行 php artisan db:seed并收到错误:
BadMethodCallException :方法 Illuminate\Database\Query\Builder::offers 不存在。
报价型号代码:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Offer extends Model
{
protected $guarded = [];
public function task()
{
return $this->belongsTo(Task::class);
}
public function user()
{
return $this->belongsTo(User::class);
}
}
任务模型
public function offers()
{
return $this->hasMany(Offer::class);
}
数据库种子文件
factory(App\Task::class, 10)->create()->each(function ($task) {
return $task->offers()->save(factory(App\Offer::class)->make());
});
我做错了什么?
解决方案
将您的 DatabaseSeeder 更新为此并检查
factory(App\Task::class, 10)->create()->each(function ($task) {
return $task->offers()->save(factory(App\Offer::class)->create());
});
推荐阅读
- php - Laravel 6.x - 无法在公用文件夹上使用 session() 全局帮助程序
- java - 如果 Kubernetes 上存在多个 pod,则在 Spring 中从单个 pod 运行 Scheduled Cron 方法
- spring - 使用 Spring Boot 将 SOAP Header 与主体一起发送到 SOAP 服务器
- java - tomcat上的多个spring boot web应用程序不起作用
- netsuite - Suitescript 2.0 在带有子列表的数组中显示数组
- java - 通过java编码更新/替换google bigquery中的tabledata
- ruby - Ruby 设置时区 *没有 Rails*
- swift - 比较领域结果并在列表中查找对象
- reactjs - 电子邮件中 React Router 路径的可共享链接
- python - 在 Amazon Comprehend Medical 中识别单词的不同时态