Вопрос

For example, in PHP Lithium framework, if we want to create a new user object and add it to db, we can use this -

$model = 'app\models\Users';
$user = $model::create();
$user->user_guid = uniqid ();

$user->save ();

Now I want to use MySQL FUNC UUID() to replace uniqid() in PHP, the SQL is similar to this :

INSERT INTO users SET user_guid=UUID();

How to do this? Thanks.

Это было полезно?

Решение

Note that lithium\util\String has a uuid() generator:

https://github.com/UnionOfRAD/lithium/blob/master/util/String.php#L61

(I'm afraid my lithium-fu is a bit too rusty to remember how to use an sql expression, but I'm pretty certain that is possible too.)

Другие советы

If you want to use some specific SQL functions like NOW() or UUID() you should be able to use them using the following notation:

$user->user_guid = (object) 'UUID()';

This way, the string won't be "escaped".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top