Closed gthu96 closed 3 years ago
Hello there! Thanks for opening your first issue on this repo!
Just a heads-up: Here at Backpack we use Github Issues only for tracking bugs. Talk about new features is also acceptable. This helps a lot in keeping our focus on improving Backpack. If you issue is not a bug/feature, please help us out by closing the issue yourself and posting in the appropriate medium (see below). If you're not sure where it fits, it's ok, a community member will probably reply to help you with that.
Backpack communication channels:
backpack-for-laravel
tag;Please keep in mind Backpack offers no official / paid support. Whatever help you receive here, on Gitter, Slack or Stackoverflow is thanks to our awesome awesome community members, who give up some of their time to help their peers. If you want to join our community, just start pitching in. We take pride in being a welcoming bunch.
Thank you!
-- Justin Case The Backpack Robot
Hello @gthu96 thank you for submitting this issue.
I am not sure I fully understand what you mean, could you please rephrase it ? Like in simple steps:
Something along those lines so I can try to replicate what you are trying to achieve and it's failing. It could be or not a bug, but I do not fully understood your question, so sorry for that.
Also it would help if you can provide you relation link
that you have defined in the model.
Thanks in advance, Pedro
@pxpm Hi thanks for the reply. I have updated the question
Having same issue. I am not getting the sql error but its setting the value to null.
Thank you @gthu96 for the clarification.
At first sight I think this might be related with #3250
I am going to give this a try and will come back to you guys with my findings.
@gthu96 @ashwin-nath-m your column in database is nullable or non-nullable ?
@pxpm Thanks for the reply. When i set link_to as non nullable it will show me that sql error, but when i check db it has saved the correct value for link_to. When i set it nullable, this error won't show up but the value which get saved in link_to will be null.
Hum, I am not sure your relations are well defined.
It seems you need a polymorphic relation. When you save let's say link_to => 4
, how do you know it's related to a Product
or a Collection
? By having the link_type
? That's exactly a polymorphic relation. https://laravel.com/docs/8.x/eloquent-relationships
I don't think you can define a belongsTo like that.
Could you share/link to an example/documentation using select2_from_ajax & polymorphic relation ?.
I am also experiencing a similar issue. @gthu96 did you manage to solve your problem? If yes, could you please share your solution?
Hi everyone, to make sure select2_from_ajax
, select2_from_ajax_multiple
was working with polymorphic relations I took as example the UserCrudController
on demo.
Both Roles
and Permissions
are polymorphic relationships, I was able to create fields for those;
@nihadatakishiyev and @gthu96, I'll leave here the fields code for you and any one who may need this in future;
$this->crud->addField([
'label' => trans('backpack::permissionmanager.roles'),
'type' => 'select2_from_ajax_multiple',
'name' => 'roles',
'entity' => 'roles',
'attribute' => 'name',
'data_source' => url('api/roles'),
'pivot' => true,
'model' => "Backpack\PermissionManager\app\Models\Role",
'placeholder' => 'Select roles',
'minimum_input_length' => 2,
]);
To create the morphToMany
relation on model the code for Role
is something like this;
public function roles()
{
return $this->morphToMany(
Role::class, // related model class
'model', // name
'roles', // table name
'model_id', // foreign pivot key
'role_id' // related pivot key
);
}
More info on morphToMany
on Laravel Docs.
This is for Roles
, it works exactly the same for Permissions
.
I'll close the issue for now, please open if you find any issues 👍
Im having a weird problem. Im using laravel backpack for an admin panel. There i use select2_from_ajax to list a values according to another field in create operation. It is showing up correctly as expected & i can select one too. But after selection when i click save & back it gives me an error
That means my column doesn't allow to update to null right. So when i go back & check the column it has saved the correct value. But when default value of my column was null this error will not showup & db value would be changed to null.
This is my select2_from_ajax part.
My admin/itemtype function:
@pxpm According to link_type my link_to select values changes. So if the lint_type is chosen as collection link_to will list all the collections in db & if its product it will list out all the products from the database.
So at the create operation everything is listed as expected. I can select link_type & link_to will come according to that. When i select product as link_type & select a product to link_to & click save & back, it will show that first sql error image.
After that when i check the database it has saved the correct value eventhough this error was shown.
So what i make of this is that it is trying to update already saved correct value with null.
model relation link:
Backpack, Laravel, PHP, DB version
When I run
php artisan backpack:version
the output is:PHP 7.4.9 (cli) (built: Aug 7 2020 14:29:36) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.9, Copyright (c), by Zend Technologies
LARAVEL VERSION:
v7.28.3@b0942c391975972b1a54b2dc983e33a239f169a9
BACKPACK VERSION:
4.1.25@23fb1ed5153d5465d49d2fe1ca265a5985c78877