Это моя первая публикация здесь, извините, если я ввел что-то неправильно.
Итак, у меня есть Forums.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Forums extends Model
{
protected $table ='forums';
public $primaryKey='id';
public function section()
{
return $this->belongsTo(Section::class,'id');
}
}
и Section.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Section extends Model
{
public function forums()
{
return $this->hasmany(Forums::class,'section_id');
}
}
Я последовал учебник, в котором было показано, что с использованием
$section=Section::find($id)->forums;
я должен получить все форумы с fk, равным $ id секции, однако ir возвращает пустой массив.
Я попытался вывести SQL в терминале, используя:
$order = App\Section::find(2)->forums()->toSql()
где 2 - идентификатор таблицы разделов и получено:
select * from `forums` where `forums`.`section_id` is null and `forums`.`section_id` is not
null"
поэтому неудивительно, что он возвращает пустой массив
однако, если я пытаюсь получить раздел, связанный с форумом, он работает отлично.
Как я могу это исправить?
Изменение hasmady на hasMany это не исправило
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePostsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('Forums', function (Blueprint $table) {
$table->increments('id');
$table->string('Name');
$table->string('Description');
$table->integer('topics');
$table->integer('Comments');
$table->integer('Last_Post_id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('Forums');
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddToUsers extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('Forums', function (Blueprint $table)
{
$table->integer('Section_id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
не может найти разделы shema, хотя у меня есть таблица в базе данных или потому, что shema отсутствует в папке проекта, потому что я не получаю ошибок, что таблица или столбец не может быть найден?