Laravel Ошибка при миграции Darabase: метод BadMethodCallException \ Blueprint :: url не существует - PullRequest
0 голосов
/ 23 января 2020

Я очень новичок в Laravel, так что, если это очевидно, то извините, но я не знаю, что это значит. Я просто пытался добавить функцию, которая позволяла пользователю добавлять новое сообщение. У меня возникла проблема, поэтому я попытался выполнить откат, что было нормально, но когда я снова попытался выполнить миграцию, я получил следующее:

enter image description here

Вот таблица создания сообщения:

<?php

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

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger('user_id');
            $table->string('title');
            $table->text('thought');
            $table->url('url')->nullable();
            $table->string('image')->nullable();
            $table->timestamps();

            $table->index('user_id');
        });
    }

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

Вот мое сообщение. php:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    protected $gaurded = [];

    public function user(){ 

        return $this->belongsTo(User::class);
    }
}

PostsController. php:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostsController extends Controller
{
    public function create(){

        return view('posts.create');
    }

    public function store(){

        $data = request()->validate([
            'title',
            'thought',
            'image',
            'url'
        ]);

        auth()->user()->posts()->create($data);

        dd(request()->all());
    }
}

И я понятия не имею, что делать. Поскольку я не знаю, что происходит, я действительно не знаю, какая еще информация вам может понадобиться, но если есть что-то еще, что может помочь в решении этой проблемы, пожалуйста, дайте мне знать. Любой совет будет потрясающим.

1 Ответ

1 голос
/ 23 января 2020

Я думаю, это потому, что вы использовали тип данных "url" в файле миграции, и в классе "Blueprint" класса laravel такого метода нет. Вот почему возникает ошибка.

...