Many to Many relationship is voldoende. HasmanyTrough gebruikt er 4.
https://laravel.com/docs/...elationships#many-to-many
https://laravel.com/docs/...elationships#many-to-many
[ Voor 33% gewijzigd door scosec op 31-03-2016 08:42 ]
[ Voor 33% gewijzigd door scosec op 31-03-2016 08:42 ]
Inderdaad gewoon een belongsToMany(): https://laravel.com/docs/...elationships#many-to-manyscosec schreef op donderdag 31 maart 2016 @ 08:42:
Many to Many relationship is voldoende. HasmanyTrough gebruikt er 4.
1
| Route::resource('user', 'UserController'); |
1
| Route::delete('user/{user}', 'UserController@destroy'); |
1
| NotFoundHttpException in RouteCollection.php line 161: |
1
| $this->hasMany('App\Episode') |
1
| $this->hasMany('App\Episode')->min('season') |
[ Voor 18% gewijzigd door CH4OS op 18-04-2016 00:05 ]
Nee, ik vind de prijs te hoog om 'even mee te spelen'. Ben wel heel benieuwd, maar $99 dollar vind ik toch net iets te veel van 't goede, tenzij ik echt een concreet idee wil uitwerken, maar dat heb ik nog nietScotix schreef op maandag 18 april 2016 @ 09:50:
Iemand al met Laravel Spark (beta) gespeeld?
https://github.com/laravel/spark-installer
Nog niet, opzich wel benieuwd. Vooral voor hoe hij het in elkaar heeft gezet, niet direct om een product te launchen nog.Scotix schreef op maandag 18 april 2016 @ 09:50:
Iemand al met Laravel Spark (beta) gespeeld?
https://github.com/laravel/spark-installer
[ Voor 12% gewijzigd door CH4OS op 29-04-2016 15:50 ]
"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005
Ik zie de toegevoegde waarde niet echt? Het is een Laravel installatie met een module voor authenticatie en ACL controle en een betaalsysteem met abonnementen. Waarom zou je daar 100$ voor neertellen? Hier zijn toch genoeg gratis packages voor?Scotix schreef op maandag 18 april 2016 @ 09:50:
Iemand al met Laravel Spark (beta) gespeeld?
https://github.com/laravel/spark-installer
Als mijn Jira / Confluence weer onlinembenjamins schreef op dinsdag 03 mei 2016 @ 23:46:
Wie van jullie maken gebruik van Homestead?
Ik heb het al paar keer geprobeerd om het goed werkend te krijgen maar het lukt mij steeds niet om het goed te laten draaien. Als host gebruik ik Windows 10.
[ Voor 14% gewijzigd door scosec op 04-05-2016 09:35 ]
Volgens mij is het wel iets meer als 'alleen' ACL + betaalsysteem. Zie https://spark.laravel.com/trix0r schreef op woensdag 04 mei 2016 @ 09:08:
[...]
Ik zie de toegevoegde waarde niet echt? Het is een Laravel installatie met een module voor authenticatie en ACL controle en een betaalsysteem met abonnementen. Waarom zou je daar 100$ voor neertellen? Hier zijn toch genoeg gratis packages voor?
Hier geen problemen met Homestead op Windows 10! Vorige week nog bij een collega geïnstalleerd en inderdaad, je komt wel wat probleempjes tegen, maar het is over het algemeen goed te doen.mbenjamins schreef op dinsdag 03 mei 2016 @ 23:46:
Wie van jullie maken gebruik van Homestead?
Ik heb het al paar keer geprobeerd om het goed werkend te krijgen maar het lukt mij steeds niet om het goed te laten draaien. Als host gebruik ik Windows 10.
Is het pad naar je key goed ingesteld?mbenjamins schreef op donderdag 05 mei 2016 @ 16:34:
Ik heb Homestead draaiend gekregen maar nu loop ik tegen het probleem aan dat ik niet kan inloggen op ssh
Ik heb zoals het hoort de documentatie bekeken en op internet gezocht.
Naar mijn weten wel.
1
2
3
4
| authorize: C:\Users\Gebruiker\.ssh\id_rsa.pub keys: - C:\Users\Gebruiker\.ssh\id_rsa |
< dit stukje webruimte is te huur >
Omdat het mij veel tijd bespaart. Als je het eenmaal door hebt, werkt het gewoon erg makkelijk en simpel. Het werken met routes/controllers, middleware, validatie, input/json etc.aex351 schreef op maandag 16 mei 2016 @ 22:01:
Ik overweeg al een tijdje om Laravel te gebruiken. Voornamelijk vanwege de populariteit. Maar ik ontkomt er steeds niet aan om toch voor eigen alternatieven te kiezen. Dit omdat Laravel vooralsnog, en ik chargeer, zo'n typische PHP framework, opgezet door PHP'ers, met een leuke level van complexiteit is waardoor iedereen lekker kan puzzelen. Ik geef een voorbeeld: de hoeveelheid aan parameters die alleen obscure strings en arrays accepteren maakt deze methoden feitelijk onbruikbaar zonder steeds de handleiding erbij te moeten pakken. Je wordt op een gegeven moment een Laravel-expert maar je wint er niets mee. Want ook gezien de hoeveelheid aan chaining dat gebruikt wordt kan je niet bepaald clean code noemen.
Daarom mijn vraag: waarom gebruik jij Laravel?
Ik gebruik meervoud. Mijn gedachte erachter is dat het een collectie van items is. De models zelf zijn dan wel in enkelvoud, dat is volgens mij ook een beetje de standaard die de Laravel documentatie aanhoudt.mbenjamins schreef op zondag 15 mei 2016 @ 22:27:
Hoe hebben jullie de namen van de routers, controllers en de views?
Doen jullie de routers en de controllers in enkel of meervoud?
Ik vind Laravel juist een heel goed opgezet framework en niet door "typische PHP'ers", veel inspiratie is gehaald uit bv. Ruby on Rails. Complexiteit is heel laag, Laravel zorgt ervoor dat je code goed leesbaar blijft (bijna als natuurlijke taal). Toen ik het begon te gebruiken zat ik er snel in.aex351 schreef op maandag 16 mei 2016 @ 22:01:
Ik overweeg al een tijdje om Laravel te gebruiken. Voornamelijk vanwege de populariteit. Maar ik ontkomt er steeds niet aan om toch voor eigen alternatieven te kiezen. Dit omdat Laravel vooralsnog, en ik chargeer, zo'n typische PHP framework, opgezet door PHP'ers, met een leuke level van complexiteit is waardoor iedereen lekker kan puzzelen. Ik geef een voorbeeld: de hoeveelheid aan parameters die alleen obscure strings en arrays accepteren maakt deze methoden feitelijk onbruikbaar zonder steeds de handleiding erbij te moeten pakken. Je wordt op een gegeven moment een Laravel-expert maar je wint er niets mee. Want ook gezien de hoeveelheid aan chaining dat gebruikt wordt kan je niet bepaald clean code noemen.
Daarom mijn vraag: waarom gebruik jij Laravel?
Het grote nadeel van Laravel vind ik dat ze de structuur overboord hebben gegooid. Zoek voor de grap maar eens hoe je packages moet maken in Laravel, dan hoor je tientallle verschillende antwoorden van de legacy workbench tot een eigen gefabriceerde oplossing. De reden van het verwijderen van de workbench uit de code was omdat de bedenker van Laravel het maken van pakketten niet alleen wou beperken tot Laravel. Zo is plotsklaps de hele scaffolding er uit gehaald.Chris7 schreef op dinsdag 17 mei 2016 @ 15:51:
[...]
Ik vind Laravel juist een heel goed opgezet framework en niet door "typische PHP'ers", veel inspiratie is gehaald uit bv. Ruby on Rails. Complexiteit is heel laag, Laravel zorgt ervoor dat je code goed leesbaar blijft (bijna als natuurlijke taal). Toen ik het begon te gebruiken zat ik er snel in.
Ik begrijp niet helemaal wat je bedoelt met chaining, want dat vind ik juist erg duidelijk.
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Oh ik vond juist het grote voordeel van Laravel dat het meer structuur gaf als SymfonyVentieldopje schreef op dinsdag 17 mei 2016 @ 19:05:
[...]
Het grote nadeel van Laravel vind ik dat ze de structuur overboord hebben gegooid. Zoek voor de grap maar eens hoe je packages moet maken in Laravel, dan hoor je tientallle verschillende antwoorden van de legacy workbench tot een eigen gefabriceerde oplossing. De reden van het verwijderen van de workbench uit de code was omdat de bedenker van Laravel het maken van pakketten niet alleen wou beperken tot Laravel. Zo is plotsklaps de hele scaffolding er uit gehaald.
Zo is het maken van een modulaire applicatie (zoals out of the box met Symfony notabene prachtig kan) best een heel karwei, zeker omdat de documentatie vaak onjuist is of geheel ontbreekt. Ik werk daarom een stuk liever met Symfony.
Uiteraard niet mijn bedoeling om een 'dit vs dit' discussie uit te lokken, voor beide frameworks (en anderen) is zéker wat te zeggen.
Ieder zijn dingBarryvdh schreef op dinsdag 17 mei 2016 @ 21:45:
[...]
Oh ik vond juist het grote voordeel van Laravel dat het meer structuur gaf als Symfony![]()
Scaffolding is er niet uit toch, die van de authenticatie zit er nog in, als los commando? En die Workbench gebruikte ik toch al nooit, beetje overbodig imho. Ik vind het juist wel goed dat hij er van die zaken uit gooit die het alleen maar lastig onderhouden maken en prima als losse tool kunnen. (Zoals https://github.com/franzliedke/studio)
Misschien is het voor packages iets minder gestructureerd, maar als je gewoon aanhoudt wat in de documentatie staat gaat dat prima. Alleen echt 'modulair' misschien niet zoals in Symfony.
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Komt omdat het ook niet nodig is om packages te bouwen. Het hele idee is dat packages los kunnen staan van Laravel. Het enige wat voor Laravel nodig is, is eventueel het configureren van je ServiceProviders zoals hier staat https://laravel.com/docs/5.2/packagesVentieldopje schreef op woensdag 18 mei 2016 @ 01:46:
[...]
Ieder zijn ding
Studio is inderdaad wel een optie maar voor zover ik weet niet echt genoemd in de documentatie helaas. Zou mooi zijn als ze de documentatie op dat gebied wat uitbreiden
Klopt, maar moet je dan niet alsnog Laravel specifieke code (de service provider) schrijven. Ik kon niet echt uit vinden wat dan nou echt het nut was van het "los staan van". Misschien dat jij me hier iets meer over uit kan leggen?Barryvdh schreef op woensdag 18 mei 2016 @ 08:40:
[...]
Komt omdat het ook niet nodig is om packages te bouwen. Het hele idee is dat packages los kunnen staan van Laravel. Het enige wat voor Laravel nodig is, is eventueel het configureren van je ServiceProviders zoals hier staat https://laravel.com/docs/5.2/packages
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Ligt eraan wat voor package het is. Als je wil integreren met de bepaalde Laravel componenten (bijv. inhaken op de View compiler, validatie toevoegen etc) dan wel. Maar als je gewoon een generiek iets schrijft, is een ServiceProvider niets anders als het configureren van dat package.Ventieldopje schreef op woensdag 18 mei 2016 @ 15:11:
[...]
Klopt, maar moet je dan niet alsnog Laravel specifieke code (de service provider) schrijven. Ik kon niet echt uit vinden wat dan nou echt het nut was van het "los staan van". Misschien dat jij me hier iets meer over uit kan leggen?
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
DJI Mavic 3 Classic | i7-8700 - GTX1070Ti - 16GB RAM
Gaat het daarbij om het seeden van je database tijdens ontwikkeling of om iets anders? Laravel maakt iig gebruik van Flysystem waardoor je heel makkelijk bestanden kan gebruiken alsof ze lokaal opgeslagen staan, staat ook duidelijk in de documentatie: https://laravel.com/docs/5.2/filesystemTheRicolaa10 schreef op dinsdag 31 mei 2016 @ 16:30:
Ik heb gezien dat het mogelijk is om Dropbox toe te voegen aan het filesystem van Laravel. Is het daarmee mogelijk om een csv te downloaden/of het relatieve pad er naar toe te gebruiken om een load data SQL query mee uit te voeren? Alvast bedankt!
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Soort van. Staat genormaliseerde data in. Ik ga het is uitzoeken, had eerst deze dependency gebruikt, maar was niet mogelijk met wat ik wilde.Ventieldopje schreef op dinsdag 31 mei 2016 @ 16:41:
[...]
Gaat het daarbij om het seeden van je database tijdens ontwikkeling of om iets anders? Laravel maakt iig gebruik van Flysystem waardoor je heel makkelijk bestanden kan gebruiken alsof ze lokaal opgeslagen staan, staat ook duidelijk in de documentatie: https://laravel.com/docs/5.2/filesystem
DJI Mavic 3 Classic | i7-8700 - GTX1070Ti - 16GB RAM
Met die plugin omzeil je het hele Flysystem systeem dat notabene standaard met Laravel meekomt en dit soort dingen mee mogelijk zijn. Volgens mij is Dropbox ook out of the box ondersteund. Het loont om de documentatie door te lezen alvorens te googlenTheRicolaa10 schreef op dinsdag 31 mei 2016 @ 16:48:
[...]
Soort van. Staat genormaliseerde data in. Ik ga het is uitzoeken, had eerst deze dependency gebruikt, maar was niet mogelijk met wat ik wilde.
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Maakt die relatie niet al gewoon gebruik van lazy loading? In dat geval gebeurt al wat jij beschrijftCH40S schreef op vrijdag 03 juni 2016 @ 13:13:
Is er een handige manier om bij een bepaalde pagina de relaties te skippen?
Ik heb bijvoorbeeld een overzicht van seizoenen van series. Het episode model heeft een relatie naar de serie, maar in dit overzicht haal ik de serie op een andere wijze al op en hoeft dat niet door de resultaten ook nog eens gedaan te worden.
https://laravel.com/docs/master/eloquent-relationshipsDynamic properties are "lazy loading", meaning they will only load their relationship data when you actually access them. Because of this, developers often use eager loading to pre-load relationships they know will be accessed after loading the model. Eager loading provides a significant reduction in SQL queries that must be executed to load a model's relations.
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
1
2
3
| public function roles() { return $this->belongsToMany('App\Role', 'role_users'); } |
Ik gebruik de volgende code, omdat ik dacht dat detach() niet werkte, omdat er geen roles zouden zijn wellicht, maar dat maakt dus niets uit:Call to undefined method Illuminate\Database\Query\Builder::detach()
1
2
3
| if(count($user->roles()) > 0) { $user->roles()->detach(); } |
1
| $user = User::findOrFail($id); |
[ Voor 8% gewijzigd door CH4OS op 10-06-2016 00:02 ]
Dat is wel vreemd, die zou toch echt moeten bestaan: https://laravel.com/api/5...ToMany.html#method_detachCH40S schreef op donderdag 09 juni 2016 @ 23:59:
Ik heb nu wederom wat vreemds en begrijp niet helemaal wat er aan de hand is, zo ver ik de documentatie en diverse posts op stackoverflow mag geloven, moet dit gewoon werken, maar in de praktijk dus schijnbaar niet (meer). For the record; ik draai Laravel 5.2, ik heb een belongsToMany relation, die ik wil kunnen detachen, maar vreemd genoeg, bestaat die method niet?
Mijn relation is als volgt aangelegd in het User model:PHP:Voor wat ik ervan begrijp, zou je dan gewoon detach() moeten kunnen gebruiken, om te zorgen dat de roles van de user in de koppel tabel verwijderd worden, vreemd genoeg krijg ik echter de melding dat de method niet bestaat?
1 2 3 public function roles() { return $this->belongsToMany('App\Role', 'role_users'); }
[...]
Ik gebruik de volgende code, omdat ik dacht dat detach() niet werkte, omdat er geen roles zouden zijn wellicht, maar dat maakt dus niets uit:PHP:Ik verwacht niet dat het wat uitmaakt, maar de $user zet ik als volgt:
1 2 3 if(count($user->roles()) > 0) { $user->roles()->detach(); }PHP:
1 $user = User::findOrFail($id);
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Dat dacht ik ook, maar blijkbaar dus toch niet?Ventieldopje schreef op vrijdag 10 juni 2016 @ 00:13:
Dat is wel vreemd, die zou toch echt moeten bestaan: https://laravel.com/api/5...ToMany.html#method_detach
[ Voor 9% gewijzigd door CH4OS op 10-06-2016 09:12 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| public function destroy($id) { if($id == Auth::user()->id) { Flash::error('Je kunt jezelf niet verwijderen!'); return redirect()->route('admin.user.index'); } else { $user = User::findOrFail($id); // Roles verwijderen bij de user if(count($user->roles()) > 0) { $user->roles()->detach(); } // Sessies van de user verwijderen if(count($user->sessions()) > 0) { $user->sessions()->detach(); } // User zelf verwijderen $user->delete(); } } |
1
| $user->roles()->count() |
Ik heb gisteren wel een $user->roles()->get() kunnen doen en dan kreeg ik uiteraard een result terug, met daarin twee objecten (de roles van die user).
[ Voor 40% gewijzigd door CH4OS op 10-06-2016 11:09 ]
[ Voor 6% gewijzigd door Marc3l op 17-06-2016 13:29 . Reden: Oplossing gevonden ]
1
2
3
4
5
6
7
8
9
10
11
| <?php namespace App; use Illuminate\Database\Eloquent\Model; class File extends Model { protected $connection = 'hashes'; protected $table = 'files_hashes'; protected $primaryKey = null; public $timestamps = true; } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| 'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], 'hashes' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => 'db', 'username' => 'user', 'password' => 'pass', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], ], |
Wat vreemd is, want ik doe het wederom volgens de documentatie en een tutorial die ik hierover gevonden heb. Wat zie ik nu weer over het hoofd? Ik gebruik wederom de nieuwste versie van Laravel 5.2, ik heb zojuist een composer update gedaan namelijk.InvalidArgumentException in DatabaseManager.php line 239:
Database [hashes] not configured.
[ Voor 12% gewijzigd door CH4OS op 20-06-2016 00:31 ]
[ Voor 14% gewijzigd door CH4OS op 20-06-2016 18:47 ]
Als het goed is wordt er niet / nauwelijks gecached in een development omgeving, vandaar dat het wel van toepassing is op een productie omgevingCH40S schreef op maandag 20 juni 2016 @ 18:46:
Dank voor de tip, op mijn ontwikkelomgeving hoefde dat niet, maar kan dat eens proberen, want ik heb wel een cache ervoor gemaakt op de productie omgeving!
EDIT: net gedaan, maar mocht helaas niet baten.
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Snap ik, maar ondanks dat ik de productieomgeving ook even op development heb gezet, mag het ook niet baten.Ventieldopje schreef op maandag 20 juni 2016 @ 19:49:
Als het goed is wordt er niet / nauwelijks gecached in een development omgeving, vandaar dat het wel van toepassing is op een productie omgeving
[ Voor 16% gewijzigd door CH4OS op 20-06-2016 20:18 ]
Toch een cache probleem dusCH40S schreef op maandag 20 juni 2016 @ 20:13:
[...]
Snap ik, maar ondanks dat ik de productieomgeving ook even op development heb gezet, mag het ook niet baten.
EDIT:
Heb het trouwens opgelost; het commando was íetsjes anders: php artisan config:cache, dat delete de cache en maakt het opnieuw aan.
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Inderdaad. Vreemd, want had app_debug op true staan.
[ Voor 10% gewijzigd door CH4OS op 20-06-2016 20:41 ]
Vzviw is dat niet het zelfde als een echte development environmentCH40S schreef op maandag 20 juni 2016 @ 20:40:
[...]
Inderdaad. Vreemd, want had app_debug op true staan.Dan _zou_ je toch iets anders verwachten....
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
De debugbar reageert er wel op... Maar goed, het is opgelost, ik vind het prima.Ventieldopje schreef op maandag 20 juni 2016 @ 21:05:
[...]
Vzviw is dat niet het zelfde als een echte development environment
Als het een volgende keer gebeurt dan heb je alsnog geen idee waarom maar weet je alleen welk commando je moet uitvoerenCH40S schreef op maandag 20 juni 2016 @ 21:09:
[...]
De debugbar reageert er wel op... Maar goed, het is opgelost, ik vind het prima.
[ Voor 7% gewijzigd door Ventieldopje op 20-06-2016 21:48 ]
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Zag het commando toevallig voorbij komen toen ik wat meer info over de config cache opzocht.Ventieldopje schreef op maandag 20 juni 2016 @ 21:48:
Als het een volgende keer gebeurt dan heb je alsnog geen idee waarom maar weet je alleen welk commando je moet uitvoeren
Jep, ik weet dat die nogal summier is, kwam die ook al tegen, hahaha!Zie ook gewoon de (ietwat summiere) documentatie: https://laravel.com/docs/...environment-configuration en https://laravel.com/docs/...ion#configuration-caching
Dat ligt er helemaal aan hoeveel sites je hebt, hoeveel bezoekers/verkeer die hebben en wat je eigen kennis is mbt. hosting en servers. Je zou er bijvoorbeeld voor kunnen kiezen om een VPS te nemen en daar zélf alle sites op te hosten, eventueel in combinatie met een controlpanel als Virtualmin of DirectAdmin of met hulp van Laravel Forge: https://forge.laravel.com/. Je kan dan volledig zelf bepalen hoe je je vhosts inricht.Glasya schreef op donderdag 23 juni 2016 @ 20:43:
Nog goede suggesties m.b.t. laravel vriendelijke hosting?
Momenteel heb ik mijn sites bij one.com draaien (dit zijn sites welke niet in laravel gemaakt zijn), en alhoewel ze bij one.com onlangs ssh en sftp hebben toegevoegd is het er niet mogelijk om folders aan te maken buiten de public/private directories.
Aangezien ik niet de standaard laravel indeling hanteer (ik plaats alleen de content van de "public" folder in de public_html en de rest buiten de public_html folder) is one.com voor mij niet langer interessant.
[ Voor 4% gewijzigd door FlorisD op 25-06-2016 00:47 ]
API key is gewoon een random string met tenminste een uniek component (zoals de gebruikersnaam oid) zodat het noet mogelijk is per ongeluk twee dezelfde keys te genereren.mbenjamins schreef op vrijdag 01 juli 2016 @ 10:12:
Hoe kun je het beste een api key genereren die gebruikt wordt voor het inloggen?
Is het slim om daar Hash::make voor te gebruiken?
www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8
Ik zal eens naar OAuth kijken, snap het nog niet altijd goed hoe het werkt en hoe je een OAuth server neer zet.Ventieldopje schreef op vrijdag 01 juli 2016 @ 11:49:
[...]
API key is gewoon een random string met tenminste een uniek component (zoals de gebruikersnaam oid) zodat het noet mogelijk is per ongeluk twee dezelfde keys te genereren.
Random string + hash van gebruikersnaam en email + nog een random string.
Tenzij je ook een gebruikersnaam op moet geven, dan is het niks anders dan het maken van een lang wachtwoord.
Kijk anders ook eens naar OAuth2
Ik stop in .env alleen wat wisselt per environment en/of ik buiten versiebeheer wil gebruiken. Dus APP key, smt/database settings, debug settings etc. Verder maakt het niet zoveel uit. Normaal gesproken haal je die env variabelen toch op in je config files, dus in de applicatie gebruik je alleen de config() helper, niet env(). Kan je later makkelijk wisselen als je toch iets in .env wil zetten.HollowGamer schreef op dinsdag 05 juli 2016 @ 12:31:
Aantal dagen aan het stoeien met Laravel, na een tijdje in SlimPHP te hebben gebruikt als framework.
Tot nu toe geen spijt, framework is vrij snel, veel functies aan boord, en de Eloquent ORM module ziet er goed uit.
Het enige wat ik jammer vind is de documentatie. Zo gebruik ik 5.2, maar moet ik soms teruggrijpen op de betreffende pagina van 5.1 omdat daar bijv. routes/info/.. ontbraken (in dit geval voor authentication).
Ook moet ik regelmatig SO erbij pakken of een blog zoeken (bijv. redis over socket, hoe goed validaties met BS, etc.).
Beetje jammer dat dit nog niet allemaal is opgenomen.
Voor de rest probeer ik zo goed mogelijk de 'juiste manier' te volgen, door zoveel mogelijk gebruikt te maken van php artisan.
Wel nog een aantal vragen:
- Moet ik nu zoveel mogelijk opnemen in .env, i.p.v. de config-bestanden, of is dit alleen voor 'essentieel zaken' (db, redis, etc.)?
- Ik heb een aantal records in een andere database (non-Laravel) die ik wil overplaatsen, heb begrepen dat ik gebruik moet maken van seeds?
- Af-en-toe heb ik problemen met het aanmaken en verwijderen van tabellen via artisan. Zo moet ik regelmatig terugvallen op Adminer om handmatig tabellen/verwijzingen in migrations te verwijderen/wijzigen, doe ik het fout? Is er een manier om een tabel te droppen en deze opnieuw aan te maken via artisan (zonder de datum van migrations aan te passen)?
Many thanks.
Uiteindelijk is het gelukt, en heb ik zelf een kleine code geschreven die door de records loopt en zoiets maakt (zo ongeveer):Barryvdh schreef op dinsdag 05 juli 2016 @ 14:23:
[...]
Ik stop in .env alleen wat wisselt per environment en/of ik buiten versiebeheer wil gebruiken. Dus APP key, smt/database settings, debug settings etc. Verder maakt het niet zoveel uit. Normaal gesproken haal je die env variabelen toch op in je config files, dus in de applicatie gebruik je alleen de config() helper, niet env(). Kan je later makkelijk wisselen als je toch iets in .env wil zetten.
Er is niet zoiets als een 'non-laravel' database. Als het gewoon MySQL is (of een andere database die Eloquent ondersteund), kan je deze rechtstreeks aanspreken. Alleen als je niet de naming conventions aanhoudt, zal je zelf de tabelnaam en relatie kolommen moeten definieren.
Bij migraties moet je je zelf aanleren om geen migraties te wijzigen nadat je hem hebt gedraaid. Gewoon een nieuwe aanmaken. Of als het nog lokaal staat alleen, gewoon eerst rollback doen, dan wijzigen en dan weer migreren. Tenzij er iets fout gaat halverwege een migratie, zou je niet zoveel handmatig moeten doen. Maar dan is normaal gesproken dan lokaal dus niet zo'n probleem neem ik aan. Het kan ook nooit kwaad om je data regelmatig te verversen, zodat je zeker weer dat alle migraties goed gaan (dus bijv 'php artisan migrate:refresh --seed', dat eerst alle migraties rollbackt, dan weer uitvoert en daarna de seeds uitvoert). Idealiter heb je dan een 'goede' development omgeving weer. Dan hoef je dus ook niet bang te zijn dat je database corrupt raakt, want je kan gewoon opnieuw beginnen.
Als je bestaande voorbeeld data wil overnemen, zijn dat ook packages voor, die op basis van een tabel de migraties aanmaken. Bijv. https://github.com/orangehill/iseed
1
2
3
4
5
6
| [ item1 [key => waarde, ..] ], [ item2 [ key => waarde, ..] ] |
Als ik het goed heb tegelijk met Laracon US en dat is op 27-29 juli.Thijmen schreef op maandag 18 juli 2016 @ 21:06:
Weet iemand ruwe schatting wanneer 5.3 uit komt? Die heeft eindelijk de laatste PHPUnit support, dat is lekker icm php 7Had ergens gelezen van eind juli, maar weet niet of dit klopt.
Kijk eens naar Laracastshttps://laracasts.com/ leer ik zelf heel veel van en er komen elke keer nieuwe video's bij.HollowGamer schreef op maandag 18 juli 2016 @ 16:49:
Is het btw. handig om een (e-)boek Laravel 5 aan te schaffen? Of lopen deze alweer snel achter?
Opzicht vind ik genoeg tutorials, etc. maar merk wel dat iedereen zo zijn eigen ding hierin doet.
Thanks.
Heb er wel eens naar gekeken en ziet er goed uit maar snap niet echt hoe het in elkaar steekt.mark_78 schreef op woensdag 27 juli 2016 @ 15:33:
Zijn er hier meer mensen bezig met octoberCMS?
Ik kon wel wat oude posts vinden uit 2015. Ik werk er zelf inmiddels een klein jaartje mee. Het heeft er in ieder geval voor gezorgd dat ik meer ben gaan begrijpen van Laravel.
In eerste instantie gebruikte ik het voornamelijk voor kleinere sites, uiteindelijk ook ingezet voor complexere projecten.
1
| {{ dd($episode->history->first()->prog_trans) }} |
Trying to get property of non-object
1
2
3
| public function history($first = false) { return $this->hasMany('App\History', 'episode_id', 'id')->orderBy('id', 'desc'); } |
[ Voor 33% gewijzigd door CH4OS op 27-07-2016 22:42 ]
1
| {{ dd($episode->history()->first()) }} |
[ Voor 7% gewijzigd door drdextro op 28-07-2016 09:32 ]
In eerste instantie alleen om te kijken hoe zij het hadden opgezet. Het oorspronkelijke plan was om bovenop Laravel een eigen CMS te schrijven, ter vervanging van mijn oude CMS.mbenjamins schreef op woensdag 27 juli 2016 @ 22:21:
[...]
Heb er wel eens naar gekeken en ziet er goed uit maar snap niet echt hoe het in elkaar steekt.
Gebruik je octoberCMS ook in productie kleine of grote projecten of alleen om te leren hoe het in elkaar steekt?
Zal er nog eens naar kijken.mark_78 schreef op donderdag 28 juli 2016 @ 11:31:
[...]
In eerste instantie alleen om te kijken hoe zij het hadden opgezet. Het oorspronkelijke plan was om bovenop Laravel een eigen CMS te schrijven, ter vervanging van mijn oude CMS.
Na een paar test-sites heb ik het systeem een keer gebruikt voor een eenvoudige website. Naarmate ik er meer van begreep werd ik steeds enthousiaster. Nu gebruik ik het eigenlijk voor alle websites. Dit zijn voornamelijk kleinere sites maar ook al enkele maatwerk webshop-achtige constructies.
Ze hebben voor octoberCMS bepaalde keuzes gemaakt in hun systeem waar ik in het begin erg aan moest wennen. Twig ipv Blade. Standaard ondersteuning voor Less maar niet voor Sass. Maar naarmate ik er meer mee werkte bleek dit mij niet in de weg te zitten.
Vooral als je je eigen plugins schrijft en de plugins in de "marketplace" alleen gebruikt om van te leren.
Als je een beetje door wil krijgen hoe het systeem werkt dan is dit wel een goed artikel om mee te beginnen:mbenjamins schreef op donderdag 28 juli 2016 @ 14:09:
[...]
Zal er nog eens naar kijken.
Heb je nog tips.
En Twig gebruik ik al in Laravel en Less gebruiken wij op het werk dus dat moet geen probleem zijn.
Heb je toevallig een demo van OctoberCMS hoe jij het gebruikt?
http://www.xbmcfreak.nl/
Kan je dit iets verder toelichten?Erhnam schreef op zaterdag 24 september 2016 @ 09:58:
Ik heb een uitdaging en vroeg mij af hoe jullie dit zouden aanpakken?
[..]
Bijvoorbeeld via de AuthServiceProvider wordt gecontroleerd of een user een admin is, de sectie zelf heeft aangemaakt, of via een groep waar deze gebruiker bij hoort toegang heeft. Via de views en controllers met denies, allows en can gaat dit goed. Alles centraal in de AuthServiceProvider.HollowGamer schreef op zaterdag 24 september 2016 @ 10:32:
[...]
Kan je dit iets verder toelichten?
Wat ik begrijp is dat je voor iedere gebruiker aparte rechten wilt toekennen en/of deze wilt toewijzen aan een groep?
Je zult op beide niveaus (backend/frontend) moeten gaan valideren.
Een API kan je hierbij helpen mocht je iets meer dynamisch willen bouwen, of je hangt alles in de template zelf.
Dat is ook de reden dat je dit op beide niveaus moet valideren, anders kan een gebruiker simpelweg [has_perm_to_delete => true] overrulen.
http://www.xbmcfreak.nl/
Je kan toch een PermissionController schrijven?Erhnam schreef op zaterdag 24 september 2016 @ 12:31:
[...]
Bijvoorbeeld via de AuthServiceProvider wordt gecontroleerd of een user een admin is, de sectie zelf heeft aangemaakt, of via een groep waar deze gebruiker bij hoort toegang heeft. Via de views en controllers met denies, allows en can gaat dit goed. Alles centraal in de AuthServiceProvider.
In de controllers is het een ander verhaal. Voor een admin wil ik alle secties ophalen, voor een normale gebruiker alleen die zelf zijn aangemaakt, voor een contributor waar de persoon toegang heeft tot gekregen, etc. Hetzelfde voor het zoeken, wat een aparte SearchController is. Alleen door de content zoeken waar de persoon toegang tot heeft. In andere content (andere Controller) is er een dropdown optie. Daar weer dat op basis van de rechten alleen de relevante secties getoond moeten worden. Kortom, in verschillende controllers wil ik alleen de relevante content ophalen.
Ik zou dit kunnen oplossen door een HelperClass te maken, met argumenten als user->id, waarbij een lijst met id's terugkomt. Deze roep ik dan vanuit de verschillende Controllers aan. Of zijn er nettere opties?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| class Product extends Model { public function attributes() { return $this->hasMany('App\Attribute', 'productid'); } public function brands() { return $this->hasMany('App\Brand', 'id'); } public function bulletpoints() { return $this->hasMany('App\ProductBulletpoint', 'productid'); } public function pictures() { return $this->hasMany('App\ProductImage', 'productid'); } public function variants() { return $this->hasMany('App\ProductVariant', 'productid'); } } |
1
2
3
| public function getproductbysku($sku){ return Product::with('variants','attributes', 'bulletpoints', 'pictures')->where('sku', $sku)->first(); } |
1
2
3
4
5
6
7
8
9
| class CategoryController extends Controller { public function getproducts($id){ $products = Category::with('products')->where('id', $id)->get(); return $products; } } |
Bedoel jij dit?KoudeAardbei schreef op zondag 25 september 2016 @ 17:07:
Hele middag al aan besteed en kan er niet uitkomen helaas...
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class Product extends Model { public function attributes() { return $this->hasMany('App\Attribute', 'productid'); } public function brands() { return $this->hasMany('App\Brand', 'id'); } public function bulletpoints() { return $this->hasMany('App\ProductBulletpoint', 'productid'); } public function pictures() { return $this->hasMany('App\ProductImage', 'productid'); } public function variants() { return $this->hasMany('App\ProductVariant', 'productid'); } }
code:
1 2 3 public function getproductbysku($sku){ return Product::with('variants','attributes', 'bulletpoints', 'pictures')->where('sku', $sku)->first(); }
Dit werkt perfect
Nu wil ik echter 'variants, attributes, bulletpoints en pictures' ook toevoegen bij onderstaande:
code:
1 2 3 4 5 6 7 8 9 class CategoryController extends Controller { public function getproducts($id){ $products = Category::with('products')->where('id', $id)->get(); return $products; } }
Hoe krijg ik hem 'dieper' zodat hij deze ook meepakt..
1
2
3
4
5
6
7
8
9
| class CategoryController extends Controller { public function getproducts($id){ $products = Category::with(['products.variants','products.attributes'])->where('id', $id)->get(); return $products; } } |
Thanks! Onderstaande ook al werkend gekregen, maar jou oplossing ziet er imho netter uit.DirkZzZ schreef op zondag 25 september 2016 @ 17:55:
[...]
Bedoel jij dit?
code:
1 2 3 4 5 6 7 8 9 class CategoryController extends Controller { public function getproducts($id){ $products = Category::with(['products.variants','products.attributes'])->where('id', $id)->get(); return $products; } }
https://laravel.com/docs/...lationships#eager-loading onder Nested Eager Loading
1
2
3
| $products = Category::with(['products' => function($q) { $q->with('variants','attributes', 'bulletpoints', 'pictures'); }])->get(); |
Geen idee wat de link was, maar het plaatsen van interessante resources voor Laravel lijkt me juist wel gepast in dit topic? Dan kan ik hem evt. in de OP opnemen.Anoniem: 821373 schreef op dinsdag 27 september 2016 @ 14:20:
[mbr]*snip spam*[/] Staat soms wel handige info op![mbr]Op de rest van 't web ook...[/]
Het was een link naar een LinkedIN groep. Weet niet of je er heel veel wijzer van word, 9 van de 10 keer worden die door recruiters opgezet dan wel misbruikt.Barryvdh schreef op woensdag 28 september 2016 @ 09:27:
[...]
Geen idee wat de link was, maar het plaatsen van interessante resources voor Laravel lijkt me juist wel gepast in dit topic? Dan kan ik hem evt. in de OP opnemen.
Driving a cadillac in a fool's parade.
Het was spam. Binnen 2 minuten zelfde meuk hier gepost: Anoniem: 821373 in "[myphp] formulier laat de som van de twee velden niet zien."Barryvdh schreef op woensdag 28 september 2016 @ 09:27:
Geen idee wat de link was, maar het plaatsen van interessante resources voor Laravel lijkt me juist wel gepast in dit topic?
[ Voor 4% gewijzigd door DJMaze op 28-09-2016 12:38 ]
Maak je niet druk, dat doet de compressor maar
Een link naar https://github.com/chiraggude/awesome-laravel in de OP lijkt me een mooie toevoeging. Staan genoeg Laravel resources op.Barryvdh schreef op woensdag 28 september 2016 @ 09:27:
[...]
Geen idee wat de link was, maar het plaatsen van interessante resources voor Laravel lijkt me juist wel gepast in dit topic? Dan kan ik hem evt. in de OP opnemen.
He does fit the profile perfectly. He's intelligent, but an under-achiever; alienated from his parents; has few friends. Classic case for recruitment by the Soviets.
Oké dat verklaart het idd.kwaakvaak_v2 schreef op woensdag 28 september 2016 @ 12:30:
[...]
Het was een link naar een LinkedIN groep. Weet niet of je er heel veel wijzer van word, 9 van de 10 keer worden die door recruiters opgezet dan wel misbruikt.
Stond al onder kopje Tools / PackagesKappie schreef op woensdag 28 september 2016 @ 12:49:
[...]
Een link naar https://github.com/chiraggude/awesome-laravel in de OP lijkt me een mooie toevoeging. Staan genoeg Laravel resources op.
Barryvdh schreef op zaterdag 07 februari 2015 @ 17:25:Tools / Packages
[..]
Een overzicht per categorie is ook te vinden op https://github.com/chiraggude/awesome-laravel
Denk dat je deze ErickTamayo/laravel-scout-elastic repo bedoeld, i.p.v. de fork.scosec schreef op zaterdag 15 oktober 2016 @ 10:09:
Scout is een package die standaard aangesloten zit op de searchprovider Algolia.
Je bent welliswaar niet verplicht om Algolia te gebruiken. Zo heb je hier bijvoorbeeld een driver voor ElasticSearch: https://github.com/jeylabs/laravel-scout-elastic. Voor de doorsnee website heb ik daar geen 50$ per maand voor over
Uiteraard zijn er packages voor ElasticSearch buiten Scout om. Als een gewone package. Als je daar op gaat zoeken kom je er een hele hoop tegen. Het mooie van Scout is dat het perfect aansluit op je models.
1
2
3
| Route::group(['prefix' => 'series', 'namespace' => 'series'], function() { Route::resource('/episode', 'EpisodeController'); }); |
1
| Route::resource('/series/episode/', 'EpisodeController'); |
1
| Route::group(['prefix' => 'series', 'namespace' => 'series'], function() { |
1
| Route::group(['prefix' => 'series', 'namespace' => 'series', 'as' => 'series'], function() { |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| Route::group(['prefix' => 'series', 'namespace' => 'series'], function() { Route::group(['prefix' => 'calendar', 'as' => 'calendar'], function() { Route::get('get', [ 'as' => 'series.calendar.get', 'uses' => 'CalendarController@get_calendar' ]); Route::get('update', [ 'as' => 'series.calendar.update', 'uses' => 'CalendarController@update_calendar' ]); }); // Onderstaande route zou ik eigenlijk ook in de calendar group willen hebben, zodat ik bij get als route '/' had kunnen doen, maar om de een of andere reden, werkt dat niet... Route::get('calendar', [ 'as' => 'series.calendar.index', 'uses' => 'CalendarController@index' ]); }); |
[ Voor 46% gewijzigd door CH4OS op 21-12-2016 14:15 ]
Daar zijn tooltjes voor waarmee je met een muisklik kan starten/stoppen zoals http://vagrantmanager.com/ of je maakt een .BAT-bestandje waarin je het benodigde commando uitvoert.mbenjamins schreef op woensdag 18 januari 2017 @ 22:05:
Al een tijdje maak ik gebruik van Homestead onder Windows 10.
Nu moet ik elke keer als ik wil beginnen vagrant up doen en als ik stop vagrant halt.
Is daar ook een makkelijker manier voor?
Apple iPhone 16e LG OLED evo G5 Google Pixel 10 Samsung Galaxy S25 Star Wars: Outlaws Nintendo Switch 2 Apple AirPods Pro (2e generatie) Sony PlayStation 5 Pro
Tweakers is onderdeel van
DPG Media B.V.
Alle rechten voorbehouden - Auteursrecht © 1998 - 2025
•
Hosting door TrueFullstaq