Laravel Backpack Image Field Error: 1406 Data too long for column
Tag : php , By : SilverRuby
Date : March 29 2020, 07:55 AM
Hope this helps Uahmed's answer led me to the correct answer When defining a mutator, according to Laravel's documentation
|
Backpack for laravel - Guzzle instance error
Tag : php , By : user157138
Date : March 29 2020, 07:55 AM
will help you You can't overwrite the setUp method and add an argument, because the parent class doesn't take an argument in that method. You can however do it in the constructor: class ImportacionesCrudController extends CrudController
{
private $api;
public function __construct(webApi $api) {
$this->api = $api;
return parent::__construct();
}
public function setUp()
{
$this->api->sendValidation();
....
|
BACKPACK Laravel manage extra columns in pivot table in a many-to-many relationship using Backpack CRUD
Date : March 29 2020, 07:55 AM
fixed the issue. Will look into that further I've been able to solve it, so I'll post the solution as it may be useful for others. What I did, // add this to the use statements
use App\Models\Task;
// Notice: You need to add this to "create" function as well, I'm just writing here the update function to keep it short.
public function update(UpdateRequest $request)
{
$redirect_location = parent::updateCrud($request);
foreach ($request->machines as $machine) {
$set= array('m'=>'0','t'=> '0', 's' => '0', 'a' => '0');
if (isset($request['m'])) in_array ($machine, $request['m']) ? $set['m'] = '1' : $set['m'] = '0';
if (isset($request['t'])) in_array ($machine, $request['t']) ? $set['q'] = '1' : $set['q'] = '0';
if (isset($request['s'])) in_array ($machine, $request['s']) ? $set['b'] = '1' : $set['b'] = '0';
if (isset($request['a'])) in_array ($machine, $request['a']) ? $set['y'] = '1' : $set['y'] = '0';
Task::find($request->id)->machines()->syncWithoutDetaching([$machine => $set]);
return $redirect_location;
}
// Code explanation:
// what we are doing basically here is to grab the $request data
// For example: In the $request we receive m[3] b[1,3] y[1] arrays
// meaning that for our task:
// Machine 1 has no monthly, no quarterly but biannual and yearly checkboxes checked
// Machine 3 has monthly, no quarterly, biannual and no yearly checkboxes checked
// with the loop above, we cast that incoming data into this structure
// $set would contain after the loop:
// '1' => ['m' => '0', 'q'=> '0', 'b' => '1', 'y' => '1']
// '3' => ['m' => '1', 'q'=> '0', 'b' => '1', 'y' => '0']
// with that, we updated the intermediate table using syncWithoutDetaching
<div @include('crud::inc.field_wrapper_attributes') >
<label>{!! $field['label'] !!}</label>
@include('crud::inc.field_translatable_icon')
<select
name="{{ $field['name'] }}[]"
style="width: 100%"
id="select2_ajax_multiple_custom_{{ $field['name'] }}"
@include('crud::inc.field_attributes', ['default_class' => 'form-control'])
multiple>
@if ($old_value)
@foreach ($old_value as $item)
@if (!is_object($item))
@php
$item = $connected_entity->find($item);
@endphp
@endif
<option value="{{ $item->getKey() }}" selected>
{{ $item->{$field['attribute']} }}
</option>
@endforeach
@endif
</select>
// What I added is:
<div id="freq">
@if ($old_value)
@foreach ($old_value as $item)
@if (!is_object($item))
@php
$item = $connected_entity->find($item);
@endphp
@endif
<div id="div{{ $item->getKey() }}">
<span>{{ $item->{$field['attribute']} }} -- </span>
Monthly <input type="checkbox" id="m{{ $item->getKey() }}" name="m[]" value="{{ $item->getKey() }}" @php if ($item->pivot['m'] == "1") echo "checked"; @endphp >
Quarterly <input type="checkbox" id="q{{ $item->getKey() }}" name="q[]" value="{{ $item->getKey() }}" @php if ($item->pivot['q'] == "1") echo "checked"; @endphp>
Biannual <input type="checkbox" id="b{{ $item->getKey() }}" name="b[]" value="{{ $item->getKey() }}" @php if ($item->pivot['b'] == "1") echo "checked"; @endphp>
Yearly <input type="checkbox" id="y{{ $item->getKey() }}" name="y[]"value="{{ $item->getKey() }}" @php if ($item->pivot['y'] == "1") echo "checked"; @endphp> <br/>
</div>
@endforeach
@endif
</div>
// js code to add or remove rows containing the checkboxes (This needs to be put inside <script> tags obviously) $("#select2_ajax_multiple_custom_machines").on("select2:select", function(e) {
// add checkbox row
htmlRow = "<div id=\"div"+e.params.data.id+"\">"+"<span> "+e.params.data.text+"-- </span>"+" Monthly <input type=\"checkbox\" id=\"m"+e.params.data.id+"\" name=\"m[]\" value=\""+e.params.data.id+"\">";
htmlRow += " Quarterly <input type=\"checkbox\" id=\"q"+e.params.data.id+"\" name=\"q[]\" value=\""+e.params.data.id+"\">";
htmlRow += " Biannual <input type=\"checkbox\" id=\"b"+e.params.data.id+"\" name=\"b[]\" value=\""+e.params.data.id+"\">";
htmlRow += " Yearly <input type=\"checkbox\" id=\"y"+e.params.data.id+"\" name=\"y[]\" value=\""+e.params.data.id+"\"><br/>";
htmlRow += "</div>";
$("#freq").append(htmlRow);
});
$("#select2_ajax_multiple_custom_machines").on("select2:unselect", function(e) {
// remove checkbox row
$("#div"+e.params.data.id).remove();
});
|
laravel backpack 4 crudtrait error using permission management
Tag : laravel , By : Daljit Dhadwal
Date : March 29 2020, 07:55 AM
help you fix your problem The permission manager addon now supports Backpack v4 as of this commit To make it work, pull down the latest version and follow the updated docs here
|
Error on installing backpack for laravel 6.0.3
Date : October 02 2020, 05:00 PM
This might help you There was indeed a problem with installing backpack/generators - composer did not fall back to an appropriate version, but it is now fixed. You should be able to run php artisan backpack:base:install without problems. If you hit any roadblocks during the installation, I recommend you follow the manual installation procedure, instead of php artisan backpack:base:install.
|