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 Illuminate\Notifications\Notifiable;
use Laratrust\Traits\LaratrustUserTrait; use Laratrust\Traits\LaratrustUserTrait;
use Kyslik\ColumnSortable\Sortable; use Kyslik\ColumnSortable\Sortable;
use Plank\Mediable\Mediable; use App\Traits\Media;
use Request; use Request;
use Route; use Route;
class User extends Authenticatable class User extends Authenticatable
{ {
use Filterable, LaratrustUserTrait, Notifiable, SoftDeletes, Sortable, Mediable; use Filterable, LaratrustUserTrait, Notifiable, SoftDeletes, Sortable, Media;
protected $table = 'users'; protected $table = 'users';

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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