У меня есть PhotoController, который сканирует каталог и создает изображения, создает новую запись в базе данных и отправляет задание для управления изображением, но не может заставить его работать!
Вот фотомодель:
namespace App;
use Illuminate\Database\Eloquent\Model;
class Photo extends Model
{
protected $table = "photos";
protected $fillable = [
'org_path'
];
}
Вот фотоконтроллер:
namespace App\Http\Controllers;
use App\Photo;
use App\Jobs\ProcessImage;
class PhotoController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
// Get Photos inside the private folder org_folder
$org_images = preg_grep('~\.(jpeg|jpg|png)$~', scandir(storage_path('app/images/')));
foreach ($org_images as $image) {
$post = new Photo;
$post->org_path = storage_path('app/images/').$image;
$post->pub_path = NULL;
$post->save();
$this->dispatch(new ProcessImage($post));
}
}
}
Здесь Работа:
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Image;
use App\Photo;
class ProcessImage implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $post;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(Photo $post)
{
$this->post = $post;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$resized_image_path = storage_path('app/public/').rand(5, 100).'.jpg';
$image = Image::make($post->org_path);
$image->resize(200,200)->save($resized_image_path);
}
}
Я не могу каким-то образом получить доступ к изображению с работы. Подскажите, пожалуйста, что мне не хватает?