Image
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Image extends Model
{
use HasFactory;
protected $fillable =['url','imageable_id','imageable_type'];
public function imageable(){
return $this->morphTo();
}
}
Post
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
protected $fillable =['name'];
public function image(){
return $this->morphOne(Image::class,'imageable');
}
}
User
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
protected $fillable =['name'];
public function image(){
return $this->morphOne(Image::class,'imageable');
}
}
Create user image
$user = $request->user('api');
if ($request->has('profile_img')) {
if (!is_null($user->image->first()->url)) {
$profile_img = storage_path("app/" . $user->image->first()->url);
if (file_exists($profile_img)) {
unlink($profile_img);
}
}
$data['url'] = $request->file('profile_img')
->store('public/img/profile_img');
}
$user->image()->UpdateOrCreate([
'imageable_id'=>$user->id
],$data);
Comments
Post a Comment
If you any doubt of any topic then you can comment me.