【问题标题】:Method Illuminate\Database\Query\Builder::languages does not exist方法 Illuminate\Database\Query\Builder::languages 不存在
【发布时间】:2019-10-04 09:45:06
【问题描述】:

我正在尝试将languages 表与posts 表连接起来。我已经设置了一个带有post_idlanguage_id 列的language_post 表。当我尝试使用 languages 添加 Post 时,出现如上所示的错误。

检查App/Language.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Language extends Model
{
    public function posts()
    {
        return $this->belongsToMany('App\Post')->withTimestamps();
    }
}
?>

PostController 的方法中,public function store(Request $request) 是我得到这个错误的地方

//above this all fields working perfectly
 $post->save();
        $post->languages()->attach($request->languages);

【问题讨论】:

  • 我认为你的调用有问题,因为你调用的是“语言”,而你的班级名称是“语言”

标签: php laravel laravel-artisan


【解决方案1】:

我猜你忘了对 Post 模型做同样的事情:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    public function languages()
    {
        return $this->belongsToMany('App\Language')->withTimestamps();
    }
}

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 2019-01-24
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 2019-03-04
    相关资源
    最近更新 更多