アプリ関連ニュース

Laravel の「One of Many」を使って最新と最高を取る方法

今回は、LaravelのOne of Manyを使って、最新と最高のデータを取得する方法についてご紹介します。

リレーションシップはpostとcommentの関係を作ることにします。そのため、新しいプロジェクトを作成し、このプロジェクトでマイグレーションとシーダーファイルをそれぞれ設定することにします。

以下のコメントは、マイグレーションファイルとシーダーファイルの作成を同時に使用することができます。

php artisan make:model Post -ms
php artisan make:model Comment -ms

マイグレーションを変更

ファイル __create_posts_table に name カラムを追加する。

ファイル __create_comment_table にcommentと post_idカラムを追加する。

続いて、post とcomemntテーブルにテストするためSeederファイルを作ります。

postテーブルため

commentテーブルため

最後は、作成したファイルをDatabaseSeeder.phpにセットします。

続いて、今から「One of Many」の設定をしましょう!

今回は最初のidだけを使ってますが、他のことにも同じようにできます。

post id 1の最新コメントを取得しましょう!

呼び出し方は

このように設定すると、結果は

データベースにも、コメントID10が最後となります。

次は

post id 1の最高コメントを取得しましょう!

今回はOfManyを使います。

以下のように呼び出します。

すると、結果は

データベースにも、96が一番高いコメント点のデータなので、Ok となります。

ということで今回は以上になります。

最後までご高覧頂きまして有難うございました。

By Ami



DataTablesを使用したテーブル生成とサーバーサイド連携 (1)

今回はDataTablesを使用したテーブル生成方法とサーバーサイド連携方法をシェアしたいと思います。
サーバーサイドはLaravel/PHPを使用する想定です。

続きを読む

Benefits of SCSS

SCSS (Sassy CSS) is the superset, it’s the more advanced version of CSS. We can add additional functionalities to CSS such as variables, nesting , loops, indentations and more by using SCSS. All these additional functionalities can make writing CSS much easier and faster as compared to writing the traditional CSS.

Nesting

Nesting has many benefits:

  • Nesting prevents the need to write the same selector over and over. SASS allows us to use a nested syntax, which is code contained within another piece of code that performs a wider function. In SASS, nesting allows a cleaner way of targeting elements. In other words, we can nest HTML elements by using CSS selectors.
  • Nesting is a more natural syntax and is easier and faster to read and understand.
  • Nested styles are more
  • Loops

    We can set up loops when SCSS is used.

    Variables

     SCSS offers variables in order to declare re-used properties in one place. Using traditional CSS, we would need to repeat the same code over and over, but with SASS we can store these values as variables.

    Mathematical functions

    In SASS, we can also use mathematical operations like +, -, *, /, or %. This allows us to influence size specifications, for example.

    Indentations

    The original SASS works with indentations and line breaks to structure the code. We don’t need parentheses to display nesting or semicolons to mark line ends.

    By Tsuki



    Flutterに用意されているアイコンについて

    Flutterには画像を用意しなくても表示できるアイコンがあります。
    Icons というクラスを使用し、Icons.{アイコン名}で取得する事ができます。

    続きを読む

    SQL & NoSQL

    Today I would like to share about differences between SQL and NoSQL. Let’s take a look.

    SQL databases are commonly referred to as relational database management systems (RDBMS). Traditional RDBMS uses SQL syntax as these systems utilize row-based database structures that connect related data objects between tables. Examples of RDBMS SQL databases include Backendless, Microsoft Access, MySQL, Microsoft SQL Server, SQLite, Oracle Database, IBM DB2, etc.

    NoSQL databases, on the other hand, are databases without any structured tables fixed for holding data. Technically, all non-relational databases can be called NoSQL databases. Because a NoSQL database is not a relational database, it can be set up very quickly and with minimal pre-planning. Examples of NoSQL databases include MongoDB, DynamoDB, SimpleDB, CouchDB, CouchBase, Orient DB, Infinite Graph, Neo4j, FlockDB, Cassandra, HBase, etc. 

    Querying Language & Database Schema

    SQL

    SQL database use structured query language. They have pre-defined schema for data structure. SQL querying languages have been around for long time and have evolved greatly , even providing with great libraries one can use to ease querying. It is perfect for complex data structures and queries. But SQL has strict data structure. SQL query language is declarative and lightweight. Significant research has to be done before creating and implementing any RDB since it is very difficult to change schema and data structure once project is deployed.

    NoSQL

    NoSQL have dynamic schema and hence data can be created quickly without defining the structure. Every document can have its own structure and syntax, and there is flexibility to use column-oriented, document-oriented, graph-oriented or Key-value pairs! Each NoSQL can have a different query language, adding to the complexity of learning more languages in order to work with different database. NoSQL query language is non-declarative.

    Data Structure

    SQL

    Data is stored in tables with pre-defined columns. Each entry is a new row essentially that we are creating or accessing.

    NoSQL

    Data can be stored as a JSON, graph, key-value pairs or tables with dynamic columns.

    Database Scaling

    SQL

    They are Vertically scalable. Load handling capabilities of a single server can be increased by adding more RAM, CPU or SSD capacity. This is also called ‘scale-up’.

    NoSQL

    They are Horizontally scalable. Data traffic can be increased by sharding, simply by adding more servers. They are better from scalability perspective, and preferred for large and frequently changed data.

    Conclusion

    Both SQL and NoSQL databases are used in specific needs. Depending on the goals and data environment of an organization, their specific pros and cons could be amplified.

    When we decide between SQL and NoSQL, we have to focus on 3 core concepts for our database that suits our project.

    Structure: Every project needs to store and retrieve data differently. Structure needs to be chose that requires least amount of work and easy scalability.

    Speed and Scale: Data modelling can help in deciding best route to get optimum speed. Some databases are designed for optimized read-heavy app while others write-heavy solutions. Selecting right database for project’s I/O is important.

    Size: It depends on maximum amount of data we can store and process, before impacting the database. It can vary from combination of data structure stored, partitioned data across multiple filesystems and servers, and also vendor specifics.

    This is all for now.

    Hope you enjoy that.

    By Asahi



    アプリ関連ニュース

    お問い合わせはこちら

    お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

    tel. 06-6454-8833(平日 10:00~17:00)

    お問い合わせフォーム