Every once in a while you need to have access to a json api from another domain.

Thankfully there’s a mechanism to allow this. This Mechanism is called CORS

So before any JSON request is allowed a Options requst will be sent to the corresponding ressource and expects a „Access-Control-Allow-Origin“ header to be present.

There can be different values set for this which is explained in the linked article.

To enable this globally for a NancyFX Module you have to put the following code into it.

Hopefully this will help some folks out there

Well it’s a long time since I last postet something here. Sadly i’ve been very busy with work and afterwards just coded for about an hour before going to sleep.

So what’s going on you might ask. Ive startet a rewrite of an unfinished project called AMVScore back then. The project startet because a friend of mine who hosts the AMV Contest and at some allowed the people watching in the big concert hall to vote for the vid via Twitter. This became quite popular and it became quite much a pain (at least that’s what you might guess when you speak to him) to count all those votes. After the last convention I simply told him I will write him a tool which will pull the tweets from twitter and processes them. I hacked something together in about 3 days after the convention which would work well enough but never got to a stage where I really would count on it since I always wanted to rewrite it in Yii2 for a learning purpose. So i posponed the developement until a final release of my favorite php framework. And here it is. It’s now called TwitterContestScore since it can be used for any kind of voting contest on Twitter. It’s nowhere near finished since I’m developing this on a more or less daily basis after work, but I will most definitely finish it until before the next convention.

Because this whole thing is a yii2 learning project for me I will try to post „nice to know“ bits and pieces and I hope you will like it.

 

Ein leidiges Thema, wenn man Preise in der DB abspeichern muss. Aus Datenbanksicht gibt es hier meist den Datentyp Decimal. Bei Eingabe in einem Formular möchte ich nun Prüfen ob die eingegebene Zahl dem entspricht was ich mit vorstelle. Hierzu bediehnen wir uns dem „Match“ Validator welcher uns ein RegEx pattern definieren lässt mit dem wir die eingegebene Zahl validieren können.

Das ganze sieht dann so aus: für ein DECIMAL(10,2)

Daily Yii Post

greez Frank

Nunja es ist mal wieder ein Tag mit einem neuen Problem und was soll ich sagen die Lösung war mal wieder einfacher als gedacht und dennoch Frickelei!

Heute: NULL in date Feldern der Datenbank mit Yii und wie man das verarbeitet =)

Ich wollte in bestimmten date Feldern der Datenbank einfach nichts also NULL stehen haben. Nun produziert Yii leider korrekte date Objekte wenn man in die DB schreibt und somit steht dann dort 0000-00-00 00:00:0. Kein Problem dafür gibts ne lösung in Form von bevoreSave() und afterFind() im Yii Modell. sieht dann so aus

und für die Ausgabe kann dann das verwendet werden

Happy Coding!

greez Frank

 

Tjahaaa einfaches Ding aber ich hab lange gesucht bis ich die Lösung hatte. Im nachhineine betrachtet ist das super simpel!

Ich hab in meinem aktuellen Projekt eine Recht perverse HasMany Struktur und musste bei der Ausgabe alle Relationen auflösen und diese teilweise in GridViews anzeigen.

Ich Meine Damit sowas Model1 -> has One Model2 -> Has Many Model 3 -> Has Many Model 4

Die beiden Has Many sind jeweils über Join Tables realisiert.

am ende hatte ich dann ein Kontrukt wie

(vereinfacht)

foreach($model->model2->relationsModel3 as $relation)

-> renderpartial(…. $relation);

 

im renderpartial dann das entsprechende Gridview für die relation zum Model 4

 

Da unsere Relation ein Array ist können wir den CArrayDataProvider von Yii nutzen und ihn damit füttern sodass wir die Relation als dataProvider des GridViews nutzen können

Funzt 1a und ist echt einfach!

 

greez Frank