質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

1回答

1723閲覧

Golangのdbrについて

knf

総合スコア13

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2018/11/05 10:24

編集2018/11/05 10:25

Tour of Goを見ながら仕事でGo開発をしてる初学者です。
https://godoc.org/github.com/gocraft/dbr#Builder
にある、dbrのAnd、Orの使い方がよくわからないので教えてください。

Exampleには

Go

1And( 2 Or( 3 Gt("created_at", "2015-09-10"), 4 Lte("created_at", "2015-09-11"), 5 ), 6 Eq("title", "hello world"), 7)

とあるんですが、これをなんのメソッドとして使うのかよくわかりません。
具体的にSelectのクエリを発行する例をいただけたら嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

https://github.com/gocraft/dbr/blob/master/select_test.go#L34

というようにソースコードのテストコードを見に行くと良いですよ。

投稿2018/11/05 22:31

nobonobo

総合スコア3367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

knf

2018/11/06 05:11

回答ありがとうございます。 しかし、 https://github.com/gocraft/dbr にあるテストコードは一通り見たんですが、先述Example以外のAnd、Orの使い方使われている部分がなく困っています。 おそらく Hogehoge().And("id = 1", "deleted = 0") みたいに使うとは思うのですが、このHogehogeが何なのかがわかりません……
nobonobo

2018/11/06 08:06

回答に示したリンク先のコードでは「...Where(Eq(...))」という表記があったと思います。 AndやOrやEqはすべてBuilderを返す関数です。 メソッドではないので「Hogehoge().And("id = 1", "deleted = 0")」このような呼び方はできません。 Builder型の値はWhereやHavingメソッドの引数に入れたりして使います。
knf

2018/11/09 08:13

Where(Eq(...))で用いるとEq(...)の部分が「undefined: Eq」となってしまいコンパイルできませんでした。 これで何かのメソッドとして使うのかなと思ったのですが、違うのですね。 まだ解決していませんが、もうちょっと根本的な部分を見直してみます。ありがとうございました。
nobonobo

2018/11/09 12:56

えっと。dbr.をそれぞれにつけてくださいね。そのあたり含めてアドバイスが欲しいのなら実際に動かそうとしてるコードをまるまる貼ってください。
knf

2018/11/09 13:00

解決しました!ありがとうございます。 dbr.が必要だったんですね。道理でGoDocとにらめっこしててもわからなかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問