ABO ファクトリーのブログ

3PS(3Dプリンター共有)サービスの開発 趣味のプログラム。3Dプリンターを利用した作品を行うサークルとして活動していきたいと思います。

Laravel select where () or() でハマった件

今作成中のwebサービスでユーザ間のメッセージのやり取りを画面上に表示する処理でModelへのアクセス方法でハマった。

過去の送受信のメッセージを表示したいのでA->B、B->Aに送信したメッセージを画面に表示したいので、select whereで括弧orが必要になりますSQL文で書けば以下のように簡単なんですが、LaravelのModelでどのようにアクセスすればいいのかわからない。

SQL

select * from `tb_msg` where (`owner_id` = '9' and `to_id` = '11') or 
							(`owner_id` = '11' and `to_id` = '9') order by `created_at` desc;

■結論

$msg_array = Msg::where(function ($query) use ($owner_id, $to_id) {
		$query->where('owner_id', $owner_id);
		$query->where('to_id', $to_id);
	})->
	orWhere(function ($query) use ($owner_id, $to_id) {
		$query->where('owner_id', $to_id);
		$query->where('to_id', $owner_id);
	})->orderBy('created_at', 'DESC')->get();

d.hatena.ne.jp
こちらのサイトを参考にさせて頂きました。
無名関数使って関数内でさらにwhere and検索すればいいみたいです。


実際には調査してすぐに上記のサイトを見つけてコピペで主要箇所を変更したのですが、なぜか最終行の”->get();”をコピ忘れて意味不明のエラー”ErrorException in compiled.php line 12170:Object of class Illuminate\Database\Eloquent\Builder could not be converted to string”がでて1,2時間悩んでました。converted to stringでLaravel内部でSQLのクエリー作成でエラーが出ているのだと勝手に勘違いして、無意味に変数をいろいろいじってました。

・開発環境
Laravel5
PHP 5.6.8


3Dプリンター関連の新しいwebサービスを考えています。

実はZortrax M200を購入して、運よく数日後には届いたのですが中々忙しくてまだ4個ほどしか出力していません。

しかも、3Dプリンターを入手した翌日にこれで何か面白いことができないか考えていたら、面白い??Webサービスを思い付いたのでこちらの方に夢中になった次第です。とりあえず2,3週間ほどでα版の開発をして仮にリリースしたいと思っています。

元々このブログは3Dプリンター関連の記事を書きたいと思っていたのですが、まぁ混在してもいいやって感じになってきました。 

作るのは3Dプリンター関連のコミニュティ(SNS風)のサービスになると思います。

具体的にはリリース前に言いたいと思います。

 

・開発環境

php Laravel5

jQueryMySQLFacebook apitwitter api

サーバ環境は考え中

 

もとはLinax、windowsのアプリを開発してたのでC++ユーザで、phpは趣味でさわっていました。

開発環境ではOpenpenやWordPress+BuddyPressも少し触ってみたのですが、仕様理解するのがめんどうなってきて、とりあえずLaravel使ってスクラッチで開発しています。 今までCakePHPを少し触ったことがあるのでこの辺は理解しやすいです。

 

 

Zortrax M200 届いた!!

実は先週の終わりには届いていたのですが・・私用で東京行ったりしてドタバタしていたので、まだほとんど使ってません。それでも自作した3DCGを出力してみたらあまりの綺麗さにビックしました。

上の写真が出力直後の写真。下が補材をとったあとです。

出力作品は自作で適当にタヌキを作ってみました。お気に入りです。

f:id:abofactory:20150501175850j:plain

f:id:abofactory:20150501175857j:plain

 

f:id:abofactory:20150501180155j:plain

色々フリーの面白そうな3D作品探したり、自作で作ってみたりでzortrax生活を満喫したいところなのですが、別途やることができて今は我慢中です。現在無職ニート生活をエンジョイ中ですが多忙・・・もう一体働いてくれる自分の体が欲しいです。3Dプリンターで出力できないかな・・・?!

3Dプリンター Zortrax M200を購入

1か月後ほど3Dプリンターを欲しいと考えていて、いろいろと調べてました。

結果的に一般向けでは少し高価ですがポーランドのZortrax M200を購入しました。

youtubeなどの出力動画を見ていると、圧倒的にきれいな出力です(相応の値段しますが)

到着は4月の末ぐらいになると思うので、それまで3Dデータをいろいろ作成します。

早く届いてほしい♪

 

www.youtube.com