我有一個簡單的(我想這很容易)的問題。我創建了一個名爲Player.php的新模型。它看起來像這樣:Laravel 4模型
<?php
class Player extends Eloquent {
protected $table = 'players';
protected $fillable = array('char_name', 'sex');
public $timestamps = false;
}
而且我已經在我的控制器中使用這樣的:
public function post_character()
{
$input = Input::all();
$rules = array(
'char_name' => 'required|unique:players,name|min:4',
'sex' => 'required'
);
$validation = Validator::make($input, $rules);
if ($validation->fails()) {
return Redirect::to('create_character')->withErrors($validation);
} else {
$player = new Player;
$player->name = $input['char_name'];
$player->sex = $input['sex'];
$player->save;
return Redirect::to('managment')->with('success', 'Your character has been created.');
}
}
這是我的形式:
@extends('base')
@section('main')
<div class="doc-content-box">
<legend>Create a character</legend>
{{ Form::open(array('url' => 'create_character')) }}
<div class="control-group">
{{ Form::label('char_name', 'Character name') }}
<div class="controls">
{{ Form::text('char_name', null, array('placeholder' => 'Character name goes here..')) }}
</div>
</div>
<div class="control-group">
<div class="controls">
{{ Form::select('sex', array('1' => 'Male', '2' => 'Female'), '1'); }}
</div>
</div>
<div class="form-actions">
{{ Form::submit('Create a character', array('class' => 'btn btn-success')) }}
{{ Form::button('Help', array('class' => 'btn btn-default')) }}
</div>
{{ Form::close() }}
</div>
@endsection
而現在,這是我的錯誤:
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`thefs`.`players`, CONSTRAINT `players_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `accounts` (`id`) ON DELETE CASCADE) (SQL: insert into `players` (`name`, `sex`) values (?, ?)) (Bindings: array (0 => 'Malx', 1 => '1',))
另外這裏是我的數據庫的屏幕截圖表「玩家」:
http://3.imgland.net/lL6EIv.png
我還可以使用:'$球員=新播放器; $ player-> name = $ input ['char_name']; $ player-> sex = $ input ['sex']; $ player-> save;'我不希望它爲null,我如何設置正確的account_id?我是一個新手所有這一切,我想你真的很深的解釋哈哈 – dinomuharemagic
只是一個建議的話,而不是它是一個強制性的規則,但Laravel的身份驗證的東西更好的開箱,如果你使用「用戶「作爲模型名稱,而」用戶「作爲表格名稱時,做帳戶的東西(而不是」帳戶「例如)。 –