Laravel - данные не являются выборкой для некоторой таблицы - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь отобразить данные в форме. Некоторые таблицы успешно получены, а некоторые нет. Я пытаюсь 'dd', и получается, что соединение и имя таблицы не существует.

Но он может извлечь всю таблицу следующим образом:

enter image description here

Когда я нажимаю кнопку редактирования, никакие данные не извлекаются в Форма как это:

enter image description here

и я проверяю URL, это правильно:

enter image description here

Мой контроллер:

public function edit(StudentApplication $student_applications)
{
    dd($student_applications);
    return view('student_application.edit', compact('student_applications'));
}

Моя модель:

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class StudentApplication extends Model

{
use Notifiable;

 /**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'name', 'email'
];

/**
 * The attributes that should be hidden for arrays.
 *
 * @var array
 */
protected $hidden = [
    'password', 'remember_token',
];

/**
 * The attributes that should be cast to native types.
 *
 * @var array
 */
protected $casts = [
    'email_verified_at' => 'datetime',
];

}

Мой вид

<label class="form-control-label" for="student_name">{{ __('Student Name') }}</label>
<input type="text" name="student_name" id="student_name" class="form-control{{ $errors->has('student_name') ? ' is-invalid' : '' }}" placeholder="{{ __('Student Name') }}" value="{{ old('student_name', $student_applications->student_name) }}"  required>

Мой дд результат:

enter image description here

Вы видите, что соединение, таблица и атрибуты нулевые и отсутствуют данные.

Я сделал то же самое код с другим модулем, и он работает так:

enter image description here

Моя миграция:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateStudentApplicationsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('student_applications', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('student_name');
            $table->bigInteger('student_ic_number');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('address');
            $table->string('guardian_name');
            $table->string('guardian_ic_number');
            $table->string('phone_number');
            $table->string('relationship');
            $table->rememberToken();
            $table->timestamps();
        });
    }

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::dropIfExists('student_applications');
}

}

Мой маршрут: я поставил два маршрута здесь, маршрут пользователя работает так, как я показываю на картинке выше, маршрут приложения студента не работает, когда я пытаюсь редактировать.

Route::resource('user', 'UserController', ['except' => ['show']]);
Route::resource('studentapplication', 'StudentApplicationController', ['except' => ['show']]);

У вас, ребята, есть решение для моей проблемы?

1 Ответ

1 голос
/ 19 апреля 2020

Ваш маршрут выглядит неверно.

Попробуйте вместо этого:

Route::resource('student-applications', 'StudentApplicationController', ['except' => ['show']]);
...