publicar proyecto Laravel 7.5.2 en hosting

Trato de publicar un proyecto Laravel en hosting, dicho proyecto funciona perfectamente en local pero cuando trato de publicarlo me da el siguiente error.

There is no existing directory at “/home/vagrant/code/Amigosurf/storage/logs” and its not buildable: Permission denied

Tengo todo el proyecto subido en la carpeta “Amigosurf” salvo la carpeta “public” de local que la he publicado en “public_html”.
La base de datos la he importado con phpmyadmin y he realizado los cambios en /home/amigosur/public_html/index.php

require __DIR__.'/../Amigosurf/vendor/autoload.php';

$app = require_once __DIR__.'/../Amigosurf/bootstrap/app.php';

También he añadido a función en el archivo /home/amigosur/public_html/index.php

public function register()
{
    //
     $this->app->bind('path.public',function(){
        return'/home/amigosur/public_html';
    });
}

En el archivo env. he cambiado con respecto a local enl nombre de la base de datos, el nombre de usuario y la contraseña ahora es el que me han pasado desde el Hosting.

Por último estoy utilizando laravel 7.5.2 y la version de php del hosting es 7.4

php – Laravel 7: Guardar archivo en base de datos (binary/blob)

quisiera saber cómo puedo guardar un archivo (documentos) en mi base de datos con Laravel 7 en el campo file.

Tengo la siguiente tabla (migración):

class CreateFilesTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up() {
        Schema::create('files', function (Blueprint $table) {
            $table->id();
            $table->string('filename');
            $table->string('extension');
            $table->string('description')->nullable();
            $table->boolean('published')->default(true);
            $table->date('publish_date')->nullable();
            $table->timestamps();
            $table->binary('file');
        });
    }
}

php – Controller in Laravel with parsing, creation and relationships

I have a store method on my TrainingsController that stores a training session.

A training is made up of many attributes and some relations.

I am using a form request for my validation.

public function store(StoreTraining $request)
{       
    // Parse Trainer from request
    if (is_array($request->trainer)) {
        $trainerA = $request->trainer(0);
        $trainerB = $request->trainer(1) ?? null;
    } else {
        $trainerA = $request->trainer;
        $trainerB = null;
    }

    // Get institute from session
    $institute_id  = Auth::user()->getInstituteId();

    if (empty($institute_id)) {
        throw new Exception('User has no related institute id', 1);
    }

    // Convert JS Date to MYSQL Timestamp
    $cleanDate = preg_replace('/(.*)/', '', $request->dates);
    $beginn = strtotime($cleanDate);
    $beginn =  date('Y-m-d', $beginn);

    $profileTraining = AppProfileProfileCalender::create((
        'idAddress'   => $request->addressid,
        'trainerA'    => $trainerA,
        'trainerB'    => $trainerB,
        'beginnDate'  => $beginn,
        'mode_id'     => $request->mode,
        'idInstitute' => $institute_id,
        'viewable'    => false,
        'idOrga'      => getOrga(),
        'title'       => $request->input('title'),
        'coreArea'    => $request->focus,
        'url'         => $request->website,
        'price'       => $request->price,
        'description' => $request->description,
    ));

    // Upload Cover Image
    if (!empty($request->file('coverImage'))) {
        $path = Storage::disk('public')->putFile('trainings/' . $profileTraining->id, $request->file('coverImage'));

        $profileTraining->cover_image = $path;
        $profileTraining->save();
    }

    $mediaRepository = new AppTrainingMediaRepository($profileTraining);

    // Create hasMany relation with Gallery 
    if (!empty($request->gallery)) {
        $mediaRepository->addGalleryToTraining($request->gallery);
    }

    // Create  relation with Video 
    if (!empty($request->video_url)) {
        $mediaRepository->addVideo($request->video_url);
    }
}

The controller consists of 3 large blocks.

The first block parses some values of the request. Should I create an extra parser for this? Or should I move it into the StoreTraining request and create some special methods, like getTrainer & getInstitue(), getDate()? I feel that part where I get the institute_id from the session should stay in the controller method.

The second block is the creation of a profileTraining. I could create a repository pattern, but I would not gain much here, because I cannot use $this->repositoryProfileTraining->create($request->all()); because there far too many adjustments that I need to do on the request.

The third block takes care of uploading an image and creating two complicated relations. I have an extra class called MediaRepository that does take of that. I don’t want to go into detail of the relationship, since it is not too relevant, but a diagram can be found here.

Any recommendations what general steps would enhance and shorten this big controller method?

Looking for wordpress (woocommerce), laravel programmers and ReactNative mobile app programmers

Dear all,

I’m currently looking for new collaborations with programmers in these areas:
– Good WordPress developers (woocommerce)
– Good Laravel web developers
– Good Web designers (.psd layouts etc)
– Good XHTML/CSS developers
– Good ReactNative (IOS + Android) developers

Especially the ReactNative developers I need for one immediate project right now etc.
SEMrush

PM me for more info thanks. (I also have regular website projects)

(Even better if you are from south east asia)

Thanks.

 

php – Laravel 7, criar vários registos com o mesmo create mas com id diferente

Bom dia,

estou a fazer um pequeno projeto em Laravel 7 e também é a primeira vez que contacto com o framework. Estou a desenvolver uns formulários que podem ser criados pelo admin no backoffice e que depois são apresentados no frontoffice e vistos pelos utilizadores.

Neste momento já tenho o create criado, mas precisava que de cada vez que o admin faz “Adicionar pergunta” ao aparecer dois novos campos para essa pergunta, esses dados registados fossem outro registo, ou seja, que tivessem outro id.

inserir a descrição da imagem aqui formulário com uma só pergunta inserir a descrição da imagem aqui formulário com duas perguntas

Será que alguém me consegue explicar como faço para cada “Tipo de pergunta” e “Pergunta” tenha cada um o seu id.

Obrigada

php – Mandar projetos Laravel para o github

Obrigado por contribuir com o Stack Overflow em Português!

  • Certifique-se de responder à pergunta. Entre em detalhes sobre a sua solução e compartilhe o que você descobriu.

Mas evite

  • Pedir esclarecimentos ou detalhes sobre outras respostas.
  • Fazer afirmações baseadas apenas na sua opinião; aponte referências ou experiências anteriores.

Para aprender mais, veja nossas dicas sobre como escrever boas respostas.

laravel – Reach a value of an object

I have this object :

Part 1 of the object :

https://www.dropbox.com/s/p5v9j3hj0yrqy0q/Capture%20d%27%C3%A9cran%202020-05-22%2017.15.01.png?dl=0

Part 2 of the object :

https://www.dropbox.com/s/s544edbkjo34lc0/Capture%20d%27%C3%A9cran%202020-05-22%2017.15.13.png?dl=0

I would like to get the value inside de border (see link Part 2 of the object).

My code :

It’s a many to many, I have 2 models :

Model Hinteraction :

public function effects() {
        //DD: une hinteraction peut avoir plusieurs effets et un effet peut se trouver dans plusieurs hinteractions 
        return $this->belongsToMany(Effect::class, 'hinteraction_has_effects'); 
    }

Model Effect :

class Effect extends Model
{
    //DD: une hinteraction peut avoir plusieurs effets et un effet peut se trouver dans plusieurs hinteractions
    public function hinteractions() 
{ 
        return $this->belongsToMany(Hinteraction::class, 'hinteraction_has_effects'); 
}
            $hinteractions_has_effects = Hinteraction::with('effects')->get();

I tried to make this :

@foreach ($hinteractions_has_effects as $effect)
    {{$effect->name}}   

But I don’t have no name.

Thank you in advance for your help.
@endforeach

php – Laravel retornando E_NOTICE de propriedade não definida, mesmo ela estando definida na classe estendida

Estava utilizando Laravel 5.2 em PHP 5.6 ew nao tinha este problema.
Logo após a atualização para a versão para Laravel 5.8 e PHP 7.3 este erro começou a aparecer:

ErrorException (E_NOTICE) Undefined property:
AppHttpControllersRelatoriosController::$gestores

Este é parte do meu código:
Classe: Controller

<?php

namespace AppHttpControllers;

use IlluminateFoundationBusDispatchesJobs;
use IlluminateRoutingController as BaseController;
use IlluminateFoundationValidationValidatesRequests;
use IlluminateFoundationAuthAccessAuthorizesRequests;
use IlluminateHttpRequest;
use Session;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    protected $gestores = ('Gestor', 'Administrador');
    protected $administradores = ('Administrador');

    protected static  $testMemoryTime = ();
    protected static  $testCheckPoint = ();
...

Classe RelatoriosController

namespace AppHttpControllers;

use IlluminateHttpRequest;
use AppHttpRequestsCampanhasRequest;
use AppHttpRequests;
use DateTime;
use DateInterval;
use DatePeriod;
use DB;
use PDF;
use DOMPDF;
use IlluminateSupportFacadesAuth;

class RelatoriosController extends Controller
{

    public function agencias()
    {       
        $roles_permitidos = $this->gestores; //aqui está ocorrendo o erro.
        if(!Defender::is($roles_permitidos)){
            return response()->json(('success'=>false,'error' => 'Você não tem permissão para executar essa função.', 'action'=>('type'=>'agencias')),200);
        }
        return view('relatorios.agencias');
    }

Onde estou errando neste código ?

Imagem do erro

php – Laravel 7, utilização de foreign key

Bom dia,
estou a fazer um pequeno projeto em Laravel 7 e é a primeira vez que utilizo Foreign Key e relaciono duas tabelas de Base de Dados. Em ambos os Models das respetivas tabelas já coloquei uma relação de One To One. Ao criar um produto e ao fazer salvar dá-me este erro, “General error: 1364 Field ‘id_form’ doesn’t have a default value”, o id_form é a foreign key. Tenho uma tabela de Base de Dados chamada form que tem um id, depois tenho uma tabela question que via buscar o id do form.

Para desenvolver a aplicação juntei as duas tabelas de base de dados no mesmo Controller, sendo isto o que tenho no Controller,

public function store(Request $request)
    {
        $request->validate((
            'name_form' =>'required',
            'description' => 'required',
            'email' => 'required',
            'end_date' => 'required',
            //'data_type' => 'required',
            'question' => 'required'
        ));

        $form = new Forms((
            'name_form' => $request->get('name_form'),
            'description'=> $request->get('description'),
            'email'=> $request->get('email'),
            'end_date' => $request->get('end_date')           
        ));

        $question = new Questions((
            //'data_type'=> $request->get('data_type'),
            'question'=> $request->get('question')
        ));

        $form->save();
        $question->save();

        return redirect('/backoffice/forms')->with('success', 'O formulário foi criado com sucesso.');
    }

Será que alguém me consegue ajudar para que a tabela questions vá buscar o id do form?