私はこのテーブルに挿入することができません.これは私を夢中にさせます.これは私が得るエラーメッセージです.
var_export does not handle circular references
open: /var/www/frameworks/Scout/vendor/laravel/framework/src/Illuminate/Database/Connection.php
* @param Exception $e
* @param string $query
* @param array $bindings
* @return void
*/
protected function handleQueryException(\Exception $e, $query, $bindings)
{
$bindings = var_export($bindings, true);
$message = $e->getMessage()." (SQL: {$query}) (Bindings: {$bindings})";
これが私のフルモードです
<?php
namespace Models;
use Illuminate\Database\Eloquent\Collection;
class Student extends \Eloquent
{
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'students';
/**
* The rules used to validate new Entry.
*
* @var array
*/
protected $newValidationRules = array(
'studentCode' => 'unique:students,code|numeric|required',
'studentName' => 'required|min:2',
'dateOfBirth' => 'date',
'mobile' => 'numeric'
);
/**
* Relation with sessions (Many To Many Relation)
* We added with Created_at to the Pivot table as it indicates the attendance time
*/
public function sessions()
{
return $this->belongsToMany('Models\Session', 'student_session')->withPivot('created_at')->orderBy('created_at', 'ASC');
}
/**
* Get Student Subjects depending on attendance,
*/
public function subjects()
{
$sessions = $this->sessions()->groupBy('subject_id')->get();
$subjects = new Collection();
foreach ($sessions as $session) {
$subject = $session->subject;
$subject->setRelation('student', $this);
$subjects->add($subject);
}
return $subjects;
}
/**
* Insert New Subject
* @return Boolean
*/
public function insertNew()
{
$this->validator = \Validator::make(\Input::all(), $this->newValidationRules);
if ($this->validator->passes()) {
$this->name = \Input::get('studentName');
$this->code = \Input::get('studentCode');
if ($this->save()) {
return \Response::make("You have registered the subject successfully !");
} else {
return \Response::make('An Error happened ');
}
} else {
Return $this->validator->messages()->first();
}
}
}
3 つの列を持つ新しい行を挿入しようとしています (Student のインスタンスで insertNew 関数を呼び出します) 1- ID が自動的にインクリメントされます 2- 特別なコード 3- 名前 そして、上記のメッセージを取得しました
私が今まで試したことは何ですか:
- このモデルと、このモデルをリレーションに持つ他のモデルとの間のすべてのリレーションを削除する
- insertNew() の検証ステップを削除しました
- すべての Input クラス呼び出しを削除し、代わりにリテラル データを使用しました。
他のモデルでも同様の挿入機能を使用しており、問題なく動作することに注意してください
コメント、返信をお待ちしております:D
解決
私はそれを解決しましたが、問題はバリデーターにアクセスしていることでした
$this->validator = \Validator::make(\Input::all(), $this->newValidationRules);
そして、それは私がそれを忘れていたからです
/**
* The validator object.
*
* @var Illuminate\Validation\Validator
*/
protected $validator;