Php laravel对象不在5.8中创建 [英] Php laravel object not creating in 5.8
问题描述
大家好,
我使用的是我使用MVC风格的PHP Laravel CRUD应用程序。我有控制器视图和模型。我的数据库迁移已完成,数据库中的表格是使用php artisan migrate进行的。我正在使用php 7.3和laravel 5.8。
在我的创建视图中,我将在我的数据库中创建一个单独的对象并且我的错误被抛出在文本框中没有说什么(没有输入)如果我注释掉了错误,然后我点击我的提交按钮,没有任何事情进入我的数据库没有任何进展。我看过许多不同的crud示例,我不确定为什么我的对象没有被创建。以下是我的内容
// view create
@section(' main')
< 部分 id = section-content class = text-center >
< div class = < span class =code-keyword> container contentdiv rounded >
< div class = row >
< div class = col-md-12 >
< div class = < span class =code-keyword> pb-2 mt-4 mb-2 border-bottom clearfix >
< h2 > 创建联系人< / h2 >
< / div >
< div >
< a class = btn btn-success href = {{route('contacts.index')}} < span class =code-keyword>> 返回< / a >
< / div >
< / div >
<! - < div class =col-md-10 mx-auto>
@if($ errors-> any())
< div class =alert alert-danger>
< ul>
@foreach($ errors-> all()为$ error)
< li> {{$ error}}< / li>
@endforeach
< / ul>
< / div>< br />
@endif
< / div> - >
< div class = row >
< div class = col-md-10 mx-auto mt-3 >
< 表格 方法 = POST action = {{route('contacts.store')}} >
@csrf
< div 类 = 表格 - 小组行 >
< = txtfn class = col-sm-3 > 名字: < / label >
< div class = col-sm-9 >
< 输入 类型 = text class = form-control < span class =code-attribute> name = txtfn id = txtfn / >
< / div >
< / div >
< div class = form-group row >
< label for = txtln class = col-sm-3 > 姓氏: < / label >
< div class = col-sm-9 >
< 输入 type = < span class =code-keyword> text class = form-control 名称 = txtln id = txtln / >
< span class =code-keyword>< / div >
< / div >
< div class = < span class =code-keyword> form-group row >
< label for = txtem class = col-sm-3 > 电子邮件: < / label >
< div class = col-sm-9 >
< 输入 类型 = text class = 表格控制 名称 = txtem id = txtem / >
< / div >
< ; / div >
< 按钮 type = 提交 class = btn btn-primary > 创建联系人< / button >
< / form < span class =code-keyword>>
< / div >
< / div >
< / div >
< / section >
// controller
namespace App\Http\Controllers;
使用App\Contact;
使用Illuminate \Http\Request;
class ContactController扩展Controller
{
公共功能商店(Request $ request)
{
$ request-> validate([
} 'first_name'=>'required',
'last_name'=>'required',
'mail'=>'required'
]);
$ contact = new联系人([
'first_name'=> $ request-> get('first_name'),
'last_name'=> $ request- > get('last_name'),
'电子邮件'=> $ request-> get('email'),
'work_title'=> $ request-> get('job_title '),
'city'=> $ request-> get('city'),
'country'=> $ request-> get('country')
]);
$ contact-> save();
返回重定向('/ contacts') - > with('success','Contact saved!');
}
公共函数索引()
{
$ contacts = Contact :: all();
返回视图('contacts.index',compact('contacts'));
}
/ **
*显示创建新资源的表单。
*
* @return \Illuminate\Http\Response
* /
公共函数create()
{
返回视图('contacts 。创建');
}
// model
命名空间App;
使用Illuminate \Database \ Eloquent \ Model;
class联系人扩展模型
{
protected $ fillable = [
'first_name',
'last_name',
'mail',
'city',
'country',
'职称'
];
}
我的环境设置正确
我的尝试:
我开始收到错误我必须更改appservice中的设置以允许defaultstringlength正确运行我的程序
它运行没有错误刚才我想简单地在我的数据库中创建一个对象
我的输入不知何故在我的文本框中找不到?我不确定
errors-> any())
< div class =alert alert-danger>
< ul>
@foreach(
errors-> all()as
error)
< li> {{
Hello everyone,
I have a PHP Laravel CRUD application I made where I am using MVC style. I have controllers views and models. My database migration is made and my table in the database is made with php artisan migrate. I am using php 7.3 and laravel 5.8.
On my create view I go to create a single object in my database and my errors are thrown saying nothing in text box (no input) If I comment out the errors then just I click my submit button and nothing happens nothing is entered into my db. I have looked at many different crud examples and I am not sure why my object isn’t being created. Here is what I have
//view create
@section('main')
<section id="section-content" class="text-center">
<div class="container contentdiv rounded">
<div class="row">
<div class="col-md-12">
<div class="pb-2 mt-4 mb-2 border-bottom clearfix">
<h2>Create Contact</h2>
</div>
<div >
<a class="btn btn-success" href="{{route('contacts.index')}}">Back</a>
</div>
</div>
<!-- <div class="col-md-10 mx-auto">
@if($errors->any())
<div class="alert alert-danger">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div><br />
@endif
</div> -->
<div class="row">
<div class="col-md-10 mx-auto mt-3">
<form method="POST" action="{{ route('contacts.store') }}">
@csrf
<div class="form-group row">
<label for="txtfn" class="col-sm-3">First Name:</label>
<div class="col-sm-9">
<input type="text" class="form-control" name="txtfn" id="txtfn"/>
</div>
</div>
<div class="form-group row">
<label for="txtln" class="col-sm-3">Last Name:</label>
<div class="col-sm-9">
<input type="text" class="form-control" name="txtln" id="txtln"/>
</div>
</div>
<div class="form-group row">
<label for="txtem" class="col-sm-3">Email:</label>
<div class="col-sm-9">
<input type="text" class="form-control" name="txtem" id="txtem"/>
</div>
</div>
<button type="submit" class="btn btn-primary">Create Contact</button>
</form>
</div>
</div>
</div>
</section>
//controller
namespace App\Http\Controllers;
use App\Contact;
use Illuminate\Http\Request;
class ContactController extends Controller
{
public function store(Request $request)
{
$request->validate([
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required'
]);
$contact = new Contact([
'first_name' => $request->get('first_name'),
'last_name' => $request->get('last_name'),
'email' => $request->get('email'),
'job_title' => $request->get('job_title'),
'city' => $request->get('city'),
'country' => $request->get('country')
]);
$contact->save();
return redirect('/contacts')->with('success', 'Contact saved!');
}
public function index()
{
$contacts = Contact::all();
return view('contacts.index', compact('contacts'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('contacts.create');
}
// model
namespace App;
use Illuminate\Database\Eloquent\Model;
class Contact extends Model
{
protected $fillable = [
'first_name',
'last_name',
'email',
'city',
'country',
'job-title'
];
}
my env is setup correctly
What I have tried:
I started out getting an error I had to change a setting in appservice to allow a defaultstringlength to run my program correctly
It runs without errors Just now i want to simply create an object in my db
my input somehow isnt being found in my textboxes? im not sure
errors->any()) <div class="alert alert-danger"> <ul> @foreach(
errors->all() as
error) <li>{{
这篇关于Php laravel对象不在5.8中创建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!