【发布时间】:2018-08-29 11:57:56
【问题描述】:
我是 Laravel 的新手,我正在尝试在一些帖子上实现 cmets 系统。我找到了一个似乎得到很好支持的包,我想我可以通过使用它而不是从头开始来节省一些时间。
包装在这里: https://github.com/actuallymab/laravel-comment
有一些使用细节,但对于我这个级别的人来说,它们似乎不够清楚。
我在哪里:
作曲完成
迁移完成
在我的“用户”模型中:
use Actuallymab\LaravelComment\CanComment;
在我的“帖子”模型中:
use Actuallymab\LaravelComment\Commentable;
class Posts extends Model {
use Commentable;
protected $canBeRated = true;
//etc
}
在我的 PostsController 中,我有:
public function comment()
{
$userid = Auth::id();
$postid = "1"; //static post id for testing
$user = User::where('id','=',$userid);
$post = Post::where('id','=',$postid)->first();
$user->comment($post, 'Lorem ipsum ..', 3); // static comment for testing
}
最后,我的posts.blade:
<form action="{{ route('posts.comment') }}" method="POST">
{{ csrf_field() }}
<input type="text" id="commentdata"/> //not using this yet
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Publish" />
<a class="btn btn-primary" href="{{ route('posts.comment') }}">Cancel</a>
</div>
不幸的是,当我点击提交按钮时,我得到:
"调用未定义的方法 Illuminate\Database\Query\Builder::comment()"
所以看来我需要在我的用户模型中定义一个函数?我不确定在这里做什么。我希望有些人以前使用过这个包。
更新 1:
我现在正在使用以下 PostsController 代码:
public function comment()
{
$userid = "1"; //static user id for testing
$postid = "1"; //static post id for testing
$user = User::find($userid);
$post = Post::where('id','=',$postid)->first();
$user->comment($post, 'Lorem ipsum ..', 3); // static comment for testing
}
错误仍然是“调用未定义的方法 Illuminate\Database\Query\Builder::comment()”
【问题讨论】:
-
我想知道这是否与包含有关:使用Actuallymab\LaravelComment\CanComment;我可以看到我需要的文件在 vendor/actuallymab/laraval-comment/src 文件夹下,但我不确定帮助程序等是如何设置到这里的。
标签: laravel