便利なディレクティブをみつけたのでペタリ。
https://github.com/eirikb/angular-caret
MySQLでは完全外部結合(FULL OUTER JOIN)に対応していないので、
LEFT JOINとRIGHT JOINの結果をUNIONしてやることで再現してやる。
select * from table1 left join table2 on table1.id = table2.id union select * from table1 right join table2 on table1.id = table2.id
といった具合。
SMC(システム管理コントローラ) のリセットを行うと幸せになれる場合がある。
1, PCの電源を落とす。
2, 電源アダプタを接続する。
3, 内蔵キーボードの左側にある「shift-control-option」キーを押しながら電源ボタンを押す。
4, すべてのキーと電源ボタンを同時に放す。
5, 電源を入れる。
この際電源アダプタのLEDの状態が変わったり、一時的に消灯するといった現象が見られれば恐らく成功。
自分の場合この手順で充電できなくなったMacBookAirが復活したので、同様の現象で困ってる人は是非お試しあれ。
結構ハマったのでメモ。
例えばニュースとカテゴリがMany-to-Oneで紐付いていたとする。(ニュースは一つのカテゴリを持つ)
この場合、ニューステーブルにカテゴリIDを保持するが、紐付いているカテゴリが論理削除済みであると、シリアライズ時に解決できないエラーに遭遇してしまうことが判明。
カテゴリを作成した後、そのカテゴリを紐付けてニュースを作成。その後紐付けていたカテゴリ自体を論理削除すると、ニューステーブルにはカテゴリIDが残ったままになる。
この状態でニュースエンティティをシリアライズしようとするとEntityNotFoundExceptionが発生し、処理が止まってしまう。
当然といえば当然だが、無ければ無いでnullをセットしておいて欲しいものである。
下記サイトのやりとりを見て判明。
https://github.com/schmittjoh/serializer/issues/101
indexOf()を実行する前にString.toLowerCase()を挟んでやれば解決。
if ('LOL'.toLowerCase().indexOf('lol') === -1) { // do something }
メモ。
var str = 'hoge_fuga_piyo'; var camel = str.replace(/_./g, function(matched) { return matched.charAt(1).toUpperCase(); }); console.log(camel);
例えば名前空間を用いたクラス内から、名前空間が設定されているクラスのインスタンスを動的に生成したい場合、
生成するクラスまでのパスを名前空間を含めてフルパスで指定してやらないとエラーになってしまう。
例)
$className = 'Hoge'; // エラー new $className(); $nameSpace = '\\Huga\\Piyo\\'; $className = $nameSpace.'Hoge'; // OK new $className();
と言った感じ。
例えばビューのng-showとかng-hideとかで。
<div ng-hide="!!array.length">配列が空の場合現れる</div> <div ng-show="!!!array.length">配列が空の場合現れる</div>
配列のlengthプロパティを参照してやればOK。