我正在使用Laravel 5.1并遇到错误
存储数据时调用未定义的方法 照亮\数据库\锋\收藏::票()
。
商业模式
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Business extends Model
{
public function votes()
{
return $this->hasMany('App\Models\Vote');
}
}
然后表单POST请求
$business = Business::where('business_area', $request->input('business_area'))->get();
$vote = $business->votes()->create($request->all());
return response()->json($vote, 201);
由于某种原因,它无法找到投票方法。我被卡住了。
答案 0 :(得分:1)
确保已加载模型。
离
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
/**
* Get the comments for the blog post.
*/
public function comments()
{
return $this->hasMany('App\Comment');
}
}
请记住,Eloquent会自动确定
Comment
模型上的正确外键列。按照惯例,Eloquent将采取&#34;蛇案例&#34;拥有模型的名称,并以_id
为后缀。因此,对于此示例,Eloquent将假定Comment model
上的外键为post_id
。
答案 1 :(得分:0)
您可以在单个模型实例上调用投票,而不是在集合上调用投票。所以首先要对$ business进行预告,然后对单个实例进行投票。