LoginSignup
3
3

More than 5 years have passed since last update.

golangメモ一覧(自分用まとめ)FrameworkはRevel

Last updated at Posted at 2016-02-25

二項比較演算子の関数

  • eq : a == b の場合trueを返す
  • ne : a != b の場合trueを返す
  • lt : a < b の場合trueを返す
  • le : a <= b の場合trueを返す
  • gt : a > b の場合trueを返す
  • ge : a >= b の場合trueを返す

例:revelでのテンプレートの場合

{{if .user.Article.Published eq true}}<b>公開記事</b>{{else}}<b>非公開記事</b>{{end}}

[]の意味

スライス
可変長配列を持たない代わりに実装された型。
配列全体のポインタ(ptr)、配列の長さ(len)、配列の容量(cap)からなるデータ構造を保持している。配列の部分列を簡単に取り出せる。
Go言語では、配列よりもスライスのほうが多く使われる。
参考サイト
http://qiita.com/mizukmb/items/b543f88bc37c9a75673f

Preload

user := models.User{}
if err := DB.Preload("Article").Find(&user, id).Error; err != nil {
    return c.HandleInternalServerError("Record Find Failure")
}
return c.Render(user, id)

article id = 1の場合のSQL

SELECT  * FROM `user`  WHERE (`user`.deleted_at IS NULL OR `user`.deleted_at <= '0001-01-02') AND ((id IN ('1')))

SELECT  * FROM `article`  WHERE (`article`.deleted_at IS NULL OR `article`.deleted_at <= '0001-01-02') AND ((user_id IN ('1')))

勉強のための自分メモです。
今後も勉強したものを追加していきます。
間違っている箇所やもっと簡潔に書けたりするコードがありましたら教えてください。

※まだ、勉強途中なので誤情報があるかもしれません。ご了承ください。
また、誤字脱字もご了承ください!

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3