SQLSTATE[42S22]: Column not found: 1054 Unknown column material_tags.material_uuid

Clash Royale CLAN TAG#URR8PPP
SQLSTATE[42S22]: Column not found: 1054 Unknown column material_tags.material_uuid
I have searched for people who encountered this error but I still can't find the solution.
I have been getting the error:
"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'material_tags.material_uuid' in 'field list' (SQL: select tags.*, material_tags.material_uuid as pivot_material_uuid, material_tags.tag_uuid as pivot_tag_uuid from tags inner join material_tags on tags.uuid = material_tags.tag_uuid where material_tags.material_uuid in (05a36470-d0a0-11e7-91b4-ff3d7d9f961a) and tags.deleted_at is null)"
tags
material_tags
material_uuid
pivot_material_uuid
material_tags
tag_uuid
pivot_tag_uuid
tags
material_tags
tags
uuid
material_tags
tag_uuid
material_tags
material_uuid
tags
deleted_at
in which if I have to view Material 05a36470-d0a0-11e7-91b4-ff3d7d9f961a it should look like this
When I try to run this code located on the controller:
public function show(Request $request, $id)
{
$material = Material::with('tags')->where(
'uuid',
$id
)->first();
where my Material Model has this:
public function tags()
return $this->belongsToMany('AppModelsTag', 'material_tags');
So I have a Tags table where all the tags are stored, and a Materials table that has all the materials stored. and I have the Material_tags table to see what Materials have tags.
my create_materials_table at migration
public function up()
Schema::connection('materials')->create('materials', function (Blueprint $table)
$table->uuid('uuid')
->primary();
$table->string('title');
$table->integer('viewing_time')
->default(15)
->comment('In seconds');
$table->text('description')
->nullable();
$table->uuid('organization_id')
->nullable();
$table->timestamps();
$table->softDeletes();
);
my create_tags_table migration
public function up()
Schema::connection('materials')->create('tags', function (Blueprint $table)
$table->uuid('uuid')
->primary();
$table->string('name')
->unique();
$table->timestamps();
$table->softDeletes();
);
and my create_material_tags_table migration
public function up()
Schema::connection('materials')->create('material_tags', function (Blueprint $table)
$table->uuid('uuid')
->primary();
$table->uuid('material_id');
$table->uuid('tag_id');
$table->timestamps();
$table->foreign('material_id')
->references('uuid')
->on('materials')
->onDelete('cascade');
$table->foreign('tag_id')
->references('uuid')
->on('tags')
->onDelete('cascade');
);
1 Answer
1
You have to specify the custom foreign keys:
public function tags()
return $this->belongsToMany('AppModelsTag', 'material_tags', 'material_id', 'tag_id');
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.
thank you very much! I have been dealing with this for days. Thank you!
– eibersji
Aug 7 at 2:18