Laravel 5 带有模型数据库查询生成器的Laravel 5 badmethodcallexceltiopn
我遇到了一个错误的方法调用异常问题,错误如下Laravel 5 带有模型数据库查询生成器的Laravel 5 badmethodcallexceltiopn,laravel-5,model,Laravel 5,Model,我遇到了一个错误的方法调用异常问题,错误如下 BadMethodCallException in Builder.php line 2443: Call to undefined method Illuminate\Database\Query\Builder::lugars() in Builder.php line 2443 at Builder->__call('lugars', array()) in Builder.php line 1239 at Builder->lug
BadMethodCallException in Builder.php line 2443:
Call to undefined method Illuminate\Database\Query\Builder::lugars()
in Builder.php line 2443
at Builder->__call('lugars', array()) in Builder.php line 1239
at Builder->lugars() in Builder.php line 1239
有一次我被告知问题不在于在模型中定义表名,而是在模型中,所以我不知道问题出在哪里
模型如下:
`
`
我认为问题出在Lugares模型上,因为它是唯一一个受保护的$table的地方
关于我能做什么有什么线索吗 尽管模型中的名称为
Lugares
是的,但我不知道如何修复它,问题是拉雷维尔使用英语,所以他有时会假定名称,这就是为什么它在末尾添加S。但问题是,当我放置受保护的表时,它应该修改名称,这样它就不会使用默认的命名过程。那么,我如何才能告诉他不要使用该过程,而使用我的自定义表名呢?您错过了名称
lugars
中的字符e
,它必须是lugares
namespace App;
use Illuminate\Database\Eloquent\Model;
class Lugar extends Model
{
//
protected $table = 'lugares';
public function Lugares(){
return $this-> belongsTo('App\Empresa');
}
public function Users(){
return $this-> belongsToMany('App\User','lugares_usuarios', 'user_id', 'lugar_id');
}
}