タグ

Perlとtengに関するmichael-unltdのブックマーク (4)

  • Teng でリレーションを使う方法 - amari3の日記

    前回は Teng でトランザクション処理をする方法を紹介しました。実際に色々試して、ブログに書くと頭にいい感じで入ってくるので続けていきたいです。今回は Teng でリレーションを使う方法を紹介していきます。 題材 説明に使用する題材は、掲示板へのエントリとそれに対するコメントの様なものを想定。 使用するテーブル 以下の2つのテーブルを使用します。 test@localhost:testdb> desc entry; +------------+------------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+------------------+------+-----+---------

    Teng でリレーションを使う方法 - amari3の日記
    michael-unltd
    michael-unltd 2016/11/02
    sample of "relational"
  • 【perl】Tengを使ってみた - gaswater

    michael-unltd
    michael-unltd 2016/05/25
    “# searchを呼ぶと結果がTeng::Iteratorオブジェクトとして返ってくる.。allで配列として取得。 ”
  • #08 search - Articles Advent Calendar 2011 Teng

    今日はsearchメソッドを紹介します。 まず、searchメソッドはsingleのようにPRIMARY KEYで1行取得するわけではないが、 そんなに複雑じゃない場合に利用するといいと思います。 my $itr = $teng->search('user', +{name => 'nekokak'}, +{order_by => 'id'}); # SELECT * FROM user WHERE name = 'nekokak' ORDER BY id; のように利用します。 こうすることでnameがnekokakな人をまとめて取得しイテレータ経由でレコードにアクセス出来るようになります。 また、第三引数にオプションを指定でき、ORDER BYなどを指定すことが可能です。 LIMIT / OFFSETを指定したい場合は my $itr = $teng->search('user', +

    #08 search - Articles Advent Calendar 2011 Teng
    michael-unltd
    michael-unltd 2016/05/25
    実行結果はIteratorまたは配列で取得可能
  • #10 Rowクラスの拡張方法 - Articles Advent Calendar 2011 Teng

    Tengでdatabaseからデータを取得すると、基的には各レコードはTeng::Rowのオブジェクトになって返されます。 my $row = $teng->single('user', +{id => 1}); この時点の$rowはProj::DB::Row::Userというクラスでインスタンス化されています。 しかし今までの説明でProj::DB::Row::Userを定義したことはありませんでした。 Tengではtableに対応するRowクラスを自動的に生成し、利用します。 例えばこのProj::DB::Row::Userというクラスにメソッドを追加したいとします。 その場合は単純に自分でそのクラスを定義するだけです。 package Proj::DB::Row::User; use strict; use warnings; use parent 'Teng::Row'; sub

    #10 Rowクラスの拡張方法 - Articles Advent Calendar 2011 Teng
    michael-unltd
    michael-unltd 2016/04/19
    “このProj::DB::Row::Userというクラスにメソッドを追加したいとします。その場合は単純に自分でそのクラスを定義するだけです。”
  • 1