我对Laravel和编码一般还是比较陌生。我正在尝试使用Eloquent并将数据从表单传递到MySQL数据库。我可以“提交”,没有任何错误,但是看不到表中的数据。我觉得我的代码变得越来越混乱,因为我想弄清楚这一点,我希望对自己的代码进行回顾。通过阅读教程,书籍并查看其他人的代码,我尝试了几种不同的方法。
路线
Route::post('submit', function (Request $request) {
$data = $request->validate([
'title' => 'required|max:255',
'category' => 'required|max:255',
'content' => 'required|max:900',
]);
return redirect('submit');
});
控制器
<?php
public function store(Request $request)
{
Post::create([
'title' => $request->title,
'category' => $request->category,
'content' => $request->content,
]);
return redirect('views.submit');
}
查看/刀片
<div>
<form action='' method='post'>
@csrf
<p><label>Title</label><br/>
<input type='text' name='title' value=''><?php if (isset($error)) {
echo $_POST['title'];
}?></p>
<p><label>Category</label><br/>
<textarea name='category' cols='60' rows='10'><?php if (isset($error)) {
echo $_POST['category'];
}?></textarea></p>
<p><label>Content</label><br/>
<textarea name='content' cols='60' rows='10'><?php if (isset($error)) {
echo $_POST['content'];
}?></textarea></p>
<p><input type='submit' name='submit' value='Submit'></p>
</form>
</div>
我希望这会将数据传递到名为“博客”的表中。
答案 0 :(得分:0)
所以我终于做了几处修改后解决了这个问题。
我做的第一件事是将控制器移至/app/books.php
我将代码简化为以下内容:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class books extends Model
{
protected $fillable = [
'title',
'author',
'category',
];
}
然后我将路由修改为不包含重定向:
Route::post('/submitbook', function (Request $request) {
$data = $request->validate([
'title' => 'required|max:255',
'author' => 'required|max:255',
'category' => 'required|max:255',
]);
也许最大的解决方案是由uke幸发生的。我当时正在处理一个单独的问题,必须清除我的known_hosts文件,然后一切正常。