close #205 Fixed: Deleting/saving attached files gives Whoops

This commit is contained in:
cuneytsenturk 2018-02-08 17:41:12 +03:00
parent 968219ad96
commit 0036553dfe
10 changed files with 55 additions and 18 deletions

View File

@ -11,13 +11,13 @@ use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laratrust\Traits\LaratrustUserTrait;
use Kyslik\ColumnSortable\Sortable;
use Plank\Mediable\Mediable;
use App\Traits\Media;
use Request;
use Route;
class User extends Authenticatable
{
use Filterable, LaratrustUserTrait, Notifiable, SoftDeletes, Sortable, Mediable;
use Filterable, LaratrustUserTrait, Notifiable, SoftDeletes, Sortable, Media;
protected $table = 'users';

View File

@ -7,11 +7,11 @@ use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Model as Eloquent;
use Illuminate\Database\Eloquent\SoftDeletes;
use Kyslik\ColumnSortable\Sortable;
use Plank\Mediable\Mediable;
use App\Traits\Media;
class Company extends Eloquent
{
use Filterable, SoftDeletes, Sortable, Mediable;
use Filterable, SoftDeletes, Sortable, Media;
protected $table = 'companies';

View File

@ -7,11 +7,11 @@ use App\Traits\Currencies;
use App\Traits\DateTime;
use Bkwld\Cloner\Cloneable;
use Sofa\Eloquence\Eloquence;
use Plank\Mediable\Mediable;
use App\Traits\Media;
class Bill extends Model
{
use Cloneable, Currencies, DateTime, Eloquence, Mediable;
use Cloneable, Currencies, DateTime, Eloquence, Media;
protected $table = 'bills';

View File

@ -5,11 +5,11 @@ namespace App\Models\Expense;
use App\Models\Model;
use App\Traits\Currencies;
use App\Traits\DateTime;
use Plank\Mediable\Mediable;
use App\Traits\Media;
class BillPayment extends Model
{
use Currencies, DateTime, Mediable;
use Currencies, DateTime, Media;
protected $table = 'bill_payments';

View File

@ -7,11 +7,11 @@ use App\Traits\Currencies;
use App\Traits\DateTime;
use Bkwld\Cloner\Cloneable;
use Sofa\Eloquence\Eloquence;
use Plank\Mediable\Mediable;
use App\Traits\Media;
class Payment extends Model
{
use Cloneable, Currencies, DateTime, Eloquence, Mediable;
use Cloneable, Currencies, DateTime, Eloquence, Media;
protected $table = 'payments';

View File

@ -8,11 +8,11 @@ use App\Traits\DateTime;
use App\Traits\Incomes;
use Bkwld\Cloner\Cloneable;
use Sofa\Eloquence\Eloquence;
use Plank\Mediable\Mediable;
use App\Traits\Media;
class Invoice extends Model
{
use Cloneable, Currencies, DateTime, Eloquence, Incomes, Mediable;
use Cloneable, Currencies, DateTime, Eloquence, Incomes, Media;
protected $table = 'invoices';

View File

@ -5,11 +5,11 @@ namespace App\Models\Income;
use App\Models\Model;
use App\Traits\Currencies;
use App\Traits\DateTime;
use Plank\Mediable\Mediable;
use App\Traits\Media;
class InvoicePayment extends Model
{
use Currencies, DateTime, Mediable;
use Currencies, DateTime, Media;
protected $table = 'invoice_payments';

View File

@ -7,11 +7,11 @@ use App\Traits\Currencies;
use App\Traits\DateTime;
use Bkwld\Cloner\Cloneable;
use Sofa\Eloquence\Eloquence;
use Plank\Mediable\Mediable;
use App\Traits\Media;
class Revenue extends Model
{
use Cloneable, Currencies, DateTime, Eloquence, Mediable;
use Cloneable, Currencies, DateTime, Eloquence, Media;
protected $table = 'revenues';

View File

@ -6,11 +6,11 @@ use App\Models\Model;
use App\Traits\Currencies;
use Bkwld\Cloner\Cloneable;
use Sofa\Eloquence\Eloquence;
use Plank\Mediable\Mediable;
use App\Traits\Media;
class Item extends Model
{
use Cloneable, Currencies, Eloquence, Mediable;
use Cloneable, Currencies, Eloquence, Media;
protected $table = 'items';

37
app/Traits/Media.php Normal file
View File

@ -0,0 +1,37 @@
<?php
namespace App\Traits;
use Plank\Mediable\Mediable;
/**
* Mediable Trait.
*
* Provides functionality for attaching media to an eloquent model.
*
* @author Sean Fraser <sean@plankdesign.com>
*
* Whether the model should automatically reload its media relationship after modification.
*/
trait Media
{
use Mediable;
/**
* Relationship for all attached media.
* @return \Illuminate\Database\Eloquent\Relations\MorphToMany
*/
public function media()
{
$media = $this->morphToMany(config('mediable.model'), 'mediable')
->withPivot('tag', 'order')
->orderBy('order');
// Skip deleted media if not detached
if (config('mediable.detach_on_soft_delete') == false) {
$media->whereNull('deleted_at');
}
return $media;
}
}