Laravel consultas anidadas, como hacer una consulta de tres tablas

publicado por: Anonymous Tengo tres tablas relacionadas asi: TablaUno relacionada de uno a muchos con Tabla2, Tabla2 relacionada de uno a muchos con TablaTres. Como puedo hacer una consulta de datos de la TablaTres con una condición hacia la Tabla1. La verdad soy nuevo en Laravel y no tengo mucha idea de lo que tengo…(Continue Reading)

laravelのKernel::scheduleメソッドに登録された毎分バッチのパフォーマンス検証するために毎分バッチの開始時にログ出力したい

投稿者: Anonymous 毎分バッチのパフォーマンス検証のため、batch.logへscheduleへ開始ログを仕込みたいと思っています。 以下のようにすると、ログ出力についてもスケジューリングされバッチ実行時に以下のように毎回ログが出力されてしまいました。  コンストラクタで出力しようとするとterminalでエラーとなりそもそも実行できませんでした。  オーバーライドしたhandleメソッドでログ出力すると、schedule : startが2行となってしまいました。 ログ出力処理についてもバッチ化する以外になにか方法がありましたらご教授のほどお願いいたします。 protected function schedule(Schedule $schedule) { $this->logger = app(‘batch.log’); $this->logger->info(‘****************** schedule : start ******************’); $schedule->command(‘aaa’)->cron(‘* * * * * *’)->withoutOverlapping(); $schedule->command(‘bbb’)->cron(‘* * * * * *’)->withoutOverlapping(); $schedule->command(‘ccc’)->cron(‘* * * * * *’)->withoutOverlapping(); $schedule->command(‘ddd’)->cron(‘* * * * * *’)->withoutOverlapping(); //他バッチは省略 } ↑で出力されるログ [2018-07-12 02:57:00] batch.log.INFO: ****************** schedule :…(Continue Reading)

inner join y left join en Eloquent Laravel

publicado por: user75901 Asumiendo que tenemos la siguiente estructura de tablas en una base de datos TABLA USERS MariaDB [blog]> describe users; +————–+————–+——+—–+———————+—————-+ | Field | Type | Null | Key | Default | Extra | +————–+————–+——+—–+———————+—————-+ | idUser | bigint(20) | NO | PRI | NULL | auto_increment | | nameUser | varchar(100) |…(Continue Reading)

Laravel Excel Estructura (Importando Fichero)

publicado por: Anonymous Estoy utilizando la librería Laravel Excel y me he estado leyendo la documentación pero no dice nada para hacer leer el excel a partir de cierto numero de fila, es decir, tengo las 6 primeras líneas del excel con información y el “titulo” de cada columna no esta hasta la fila 7,…(Continue Reading)

laravelの初回リダイレクト時にセッションの値が保持されない

投稿者: Anonymous laravelでリダイレクト処理をした際にセッションが保持されません。 Laravel Framework 5.4.36 を利用しています。 以下のようなスクリプトを用意しました。 test1.php class test1 extends Controller { public function index() { Session::put(‘key’,’value’); Session::save(); header("Location: /test2"); exit; } } test2.php class test2 extends Controller { public function index() { var_export(Session::all()); } } コードにある通り test1.phpはセッションの保存とtest2へのリダイレクト処理 test2.phpはセッションを表示する処理のスクリプトです。 ここから問題なのですが 初回アクセス時にtest1.php → test2.php と表示すると セッションが保持されておらず、 test1.php で putしたセッションが表示されません。 一方で、初回アクセス時にtest2.phpを一旦表示した後、 test1.php → test2.php と表示すると、 test1.php で putしたセッションが表示されます。 1のケースでもセッションを保持するためにはどのようにすればよいでしょうか? 解決 端的に言えば…(Continue Reading)

¿Como guardo un archivo XML con Laravel?

publicado por: Anonymous Estoy intentado guardar el archivo xml con laravel pero no lo logro $xml = new DomDocument(‘1.0’, ‘UTF-8’); $raiz = $xml->createElement(‘raiz’); $raiz = $xml->appendChild($raiz); $nodo = $xml->createElement(‘Grafico’); $nodo = $raiz->appendChild($nodo); $subnodo = $xml->createElement(‘item’,’texto dentro del item’); $subnodo = $nodo->appendChild($subnodo); $xml->formatOutput = true; $xml->saveXML(); $xml->save(‘albatros_Web/public/file_XML/archivo.xml’); Cuando intento guardar me aparece el siguiente error DOMDocument::save(albatros_Web/public/file_XML/):…(Continue Reading)

¿Diferencias entre Form::model y Form::open?

publicado por: Anonymous Buenas tardes, estoy aprendiendo laravel y al utilizar la libreria de laravel collecitve, al crear formularios, veo que en ocasiones se abre el formulario con Form::model y otras con Form::open. Por más que busco no encuentro la diferencia ni se si hay más tipos y de ser así ¿cuando se utiliza cada…(Continue Reading)

1週間の人気ランキングをMySQL(InnoDB)+PHPで作りたい

投稿者: Anonymous  MySQL(InnoDB)を使って数日間の人気ランキングを作りたいと考えてます。そのテーブル構造なんですが、どのようにすると負担が少なくできるでしょうか。  私が考えたものは、流石に1つ1つのアクセスを単一のテーブルに保存するのは良くない気がして、以下のように数日分にまとめてみようと考えました。  商品(items)はすごくたくさんありまして、accessesをjoinするときに7日前までの日付と下記dateを比較します。もしjoin成功した場合には下記エントリのアクセス数を表示、そうでない場合にはアクセス数を0とします。  どんなものでしょうか。もしダメでしたら改善案をいただければと思います。 // 商品に対する日毎のアクセス数を保存 テーブル名:accesses id primary integer auto_increment, item_id integer, //(商品のID) access integer, // (アクセス数) date date, // (アクセス情報の日付) created_at datetime, // (作成日時) updated_at datetime, // (更新日時) //itemsにおいて比較の方法(laravel 5コード) $item = Item::join(‘accesses’ function($join){ $join->on(‘items.id’, ‘=’, ‘accesses.item_id’) ->where(‘accesses.date’, ‘>’, date(‘Y-m-d’, strtotime(‘-7 days’))); }) …. 解決 質問のように項目ごとにをアクセス数を記録する方法だと、「該当レコードを探してきてaccessを+1」という処理になります。一方、1アクセスを1レコードで記録する場合、追加操作のみになります。表示の方を考えると、1アクセス1レコードの場合レコードをカウントしなければならないため質問の方法の方が負荷が低いでしょう。このあたりはどちらもメリットデメリットがあるので環境次第です。 ランキングを作るというのはRDBには不向きな処理で、アクセス数が膨大な場合はどちらの方法でも苦しくなってきますので、別の方法を検討する必要があります。Redisには「ソート済みセット型」というランキング処理の為に作られたようなデータ型があり、よく使われているようです。 回答者: Anonymous

¿Cómo subir un proyecto de laravel 5.2 a un subdominio de hosting compartido sin SSH?

publicado por: Anonymous Hola, por favor necesito saber cómo subir un proyecto de laravel 5.2 a un subdominio en un hosting compartido solución Caso de Uso 1 En el primer caso de uso, el más común; imaginemos que necesito subir mi proyecto a la raíz de mi sitio web es decir en “www.example.com” y sabemos…(Continue Reading)

Ocultar botones Según el rol Laravel

publicado por: Anonymous Estoy trabajando en un proyecto de marcación de entrada y salida de una empresa en laravel y tengo un inconveniente según el rol: Administrador Supervisor -Si es Administrador que pueda editar y eliminar su propia marcacion y las de los demás empleados -Si es Supervisor que no pueda editar y eliminar su…(Continue Reading)

Mostrar datos de formulario en otra vista

publicado por: Anonymous Tengo que pasar los datos de un formulario, mediante un controlador a una vista nueva (diferente a la del formulario). He escrito lo siguiente: En web.php: //ruta para meter datos y llamar al controlador: Route::get(‘/formalumno’,’[email protected]’); //ruta para mostrar datos en una vista nueva: Route::post(‘/veralumno/{nombre}/{nota}’,’[email protected]’); En AlumnosController.php: $nombre=$_POST[‘nombre’]: $nota=$_POST[‘nota’]: public function mostrar($nombre,$nota){ $cal=”No…(Continue Reading)

Laravelでリレーション先(hasMany)の情報を利用し絞り込み

投稿者: Anonymous ・users_table ・posts_table という2つのテーブルがあり、user has many postsの関係です。 usersは、id・name postsは、id・user_id・content・created_at のカラムを持っています。 そこで、2018年9月3日以降に投稿したユーザを取得したいと考えました。 $user = User::with([‘posts’ => function($query){ $query->where(‘created_at’, ‘>’, ‘2018-09-03’); }])->get(); dd($user); ・User.php public function posts(){ return $this->hasMany(‘AppPost’, ‘user_id’, ‘id’); } ・users_tableの中身 ・posts_tableの中身 9月3日以降に投稿したユーザはuser_idが1または、3のユーザですので dd($user)では、user1・user3が取得される予定ですが、三人とも取得されてしまいます。 リレーション先の情報を元に、絞り込むにはどうすれば良いでしょうか? よろしくお願い致します。 [追記] $user = User::whereHas(‘posts’, function($query){ $query->where(‘created_at’, ‘>’, ‘2018-09-03’); }); を利用することによって、解決しましたが、whereHasでできて、eager loadでできないのは何故 なのでしょうか? よろしくお願いいたします。 解決 whereHas はサブクエリを用いてリレーションを用いたSQLを発行します。追記にある通り、今回の目的ではこれを用いるが正解です。 一方、eager loadというのは先に取得したModelのコレクションに対して…(Continue Reading)

guardar en carpeta publica laravel

publicado por: Anonymous Como puedo guardar documentos en la carpeta public_html de mi servidor? Estoy intentando guardar imágenes pero no lo consigo, en mi localhost funciona bien , adjunto mi código: if($request->hasFile(‘img’)){ $file = $request->file(‘img’); $name = $file->getClientOriginalName(); $path = public_path() .’imgcontroles’; $file->move($path,$name); } dd($path) =C:xampphtdocsloginpublicimgcontroles la estructura de mi proyecto en local es así…(Continue Reading)

Cómo acceder al atributo de un objeto en PHP pasando como parametro un string

publicado por: Anonymous Cómo puedo acceder al atributo de un objeto sin conocer su nombre. Object $registro->”atributoDesconocido” Los atributos los tengo en un array aparte. Lo que necesito es algo similiar a lo que se hace con un array. $registro[$variable] solución Si dices que el nombre de los atributos está almacenado en variables, simplemente llama…(Continue Reading)

The PATCH method is not supported for this route. Laravel 5.8

publicado por: Anonymous Cuando quiero guardar la edicion de un registro, es decir, al presionar sobre el boton guardar, me salta el siguiente error: The PATCH method is not supported for this route. Supported methods: GET, HEAD, POST. Aqui dejo el codigo del edit.blade donde sucede el error {!!Form::model($contacto,[‘method’=>’PATCH’,’route’=> [‘agenda.update’,$contacto->idagenda], ‘files’=>’true’])!!} {{Form::token()}} Y aqui dejo…(Continue Reading)

LARAVEL 5.2 — Integrity constraint violation: 1452 Cannot add or update a child row: — Problema relacionar tablas

publicado por: Anonymous Estoy intentando llenar unas tablas con la libreria faker, hasta ahora no he tenido ningún problema, puesto que eran miniproyectos y las tablas no estaban relacionadas, pero ahora, me estoy iniciando con las relaciones en laravel y me da un error que no consigo resolver. Hay tres tables, libros users, y categoria…(Continue Reading)

Problema con envio de datos por ajax (laravel)

publicado por: Anonymous Estoy enviando un dato por ajax con type : ‘post’, pero me genera error, cuando lo cambio a type : ‘get’, los datos si son recibidos en success. Este es el codigo. Ajax $(‘.QuestionList-item’).on(‘click’, function() { $(‘.Question’).show(); $(‘.QuestionList’).removeClass(‘col-12’).addClass(‘col-6’); var param = { ‘_token’ : $(‘#token’).val(), ‘userid’: $(this).children(‘.clientName’).val() }; $.ajax({ url : “{{route(‘questionDetail’)}}”,…(Continue Reading)

Recuperar los valores del los campos al volver atras en laravel

publicado por: Anonymous Estoy usando laravel 5.4 estoy validando el formulario con el Valitador:make, lo que quiero saber es que al momento de ocurrir una falla y volver atrás pudiera volver a mostrar el valor que tenia los campos antes de recargar la pagina, en lugar que salgan los input vacíos. Este es el codigo…(Continue Reading)

Laravelでの一括インサート

投稿者: Anonymous バージョンはLaravel5.4です。 下記の様な形でテーブルに値をインサートしたいのですが、行が上書きされているのか、最後の値しかインサートできません. Eloquent ORMでこのような処理を書く方法は無いでしょうか? また、それが無理な場合、どのように記述するのが適切でしょうか. <?php namespace AppModels; use IlluminateDatabaseEloquentModel; class Image extends Model { protected $table = ‘pictures’; protected $primaryKey = ‘id’; public function storeUrls($urls) { foreach ($urls as $url) { $this->user_id = ‘test’; $this->url = $url; $this->save(); } } } 解決 インスタンスを作ってあげると解決できます。 namespace AppModels; use IlluminateDatabaseEloquentModel; class Image extends Model {…(Continue Reading)

Laravel : Validar monto con separadores de puntos y coma para las décimas

publicado por: Anonymous Estoy tratando de validar un campo “precio”, con los posibles valores, ya sea usando request o el Facade Validator. 0,25 1,25 125,00 1.250,00 1.250.000,25 1.250.000.000,25 solución Prueba con lo siguiente: ^d{1,3}(?:.ddd)*(?:,d{1,2})?$ Demo (Recuerda que en php debes rodear la expresión con algún delimitador, normalmente barras /. Ver preg_match y preg_replace) Explicado: ^…(Continue Reading)

Link de Storage en Laravel no funciona en producion

publicado por: Anonymous Estoy usando storage_path para guardar mis imágenes y simbólicamente mi carpeta de almacenamiento para public_html php artisan storage:link En el local, todo funciona bien, cuando subo una imagen, se cargará en la carpeta de almacenamiento y el enlace aparecerá en la carpeta pública, pero desde que me moví al modo de host…(Continue Reading)

NotFoundHttpException in RouteCollection.php line 161

publicado por: Anonymous Saludos, estoy trabajando en laravel 5.3 y ninguna de mis rutas funciona, la unica que funciona es la ruta raiz ‘/’, no entiendo porque. web.php <?php Route::get(‘/’,function(){ return view(“certificado.index”); }); /*Route::get(“certificado”,function(){ dd(“Saludos”); });*/ Route::resource(“certificado”,’CertificadoGarantiaController’); Cuando ingreso a la ruta http://localhost/baterias/public/certificado lo unico que me muestra es el error: NotFoundHttpException in RouteCollection.php line…(Continue Reading)

Obtener id del usuario recién registrado en laravel 5.5

publicado por: Anonymous Lo quiero es que luego de registrar al usuario yo pueda obtener el id de ese usuario para guardar datos en otra tabla con dicho id lo ideal es que sea en el mismo controlador del registro. solución Si emplea el Modelo User y crear el usuario directamente con create , según…(Continue Reading)

Laravel Route::resource

publicado por: Anonymous Hay un problema con Laravel, con Route::resource que no sé como resolver. Creo el controlador desde artisan, así: php artisan make:controller PersonaController –model=Persona En routes/web.php tengo Route::resource(‘personas’, ‘PersonaController’); La lista de rutas me queda así: +——–+———–+—————————+——————-+————————————————-+————–+ | Domain | Method | URI | Name | Action | Middleware | +——–+———–+—————————+——————-+————————————————-+————–+ | |…(Continue Reading)

¿Como se usa el timestamp de laravel?

publicado por: Anonymous Lo que sucede es que cree un nuevo formulario de producto y quiero que sea igual que el formulario de registro que entrega laravel, es decir, que al momento de insertar el producto, se llene automáticamente el created_at y updated_at (ya cree las columnas), entonces quería saber de que método lo hace…(Continue Reading)