【发布时间】:2022-12-03 05:47:53
【问题描述】:
我有 2 个名为 AdminContent、AdminCategory 的模型。我的 admin_contents 表中有 content_category_id。我的 admin_categories 表中有 category_id 和 category_name。我将 category_id 与外国的 content_category_id 链接起来。 我在管理内容模型中使用 hasOne() 函数。但是当不在对象上下文中时,我收到错误 Using $this ! 我的主要目标是从 admin_categories 表名列中获取 content_category_id 值
迁移
// Admin Categories Migration
Schema::create( 'admin_categories', function(Blueprint $table) {
$table->bigIncrements('ctgry_id')->unique();
$table->string('category_name', 50)->unique();
$table->timestamps();
});
// Admin Contents Migration
Schema::create('admin_contents', function (Blueprint $table) {
$table->bigIncrements('cntnt_id')->unique();
$table->string('content_title');
$table->text('content_content');
$table->string('content_slug');
$table->bigInteger('content_category_id');
$table->foreign('content_category_id')->references('ctgry_id')->on('admin_categories');
$table->string('content_status');
$table->string('create_user');
$table->string('content_tags');
$table->string('content_excerpt');
$table->dateTime('posted_at');
$table->timestamps();
});
楷模
// AdminContent Model
protected $table = "admin_contents";
protected $fillable = [
'content_title', 'content_content',
'content_category_id', 'content_status', 'create_user','content_tags',
'content_excerpt',
'created_at', 'updated_at'
];
protected $guards = [
'cntnt_id',
];
public function setCategoryName()
{
return $this->hasOne(AdminCategory::class);
}
当我想使用 $this->hasOne(AdminCategory::class) 访问时,出现此错误!
【问题讨论】: