想听听大伙的看法谢谢。
逻辑放在SQL
中短期确实感觉很快、很爽。
不过随着项目发展,项目就会变的怪怪的,什么事都要用SQL
搞,你的开发和维护也变成了增加SQL
、修改SQL
、优化SQL
。增加一个条件?我动态拼一个SQL
条件不就搞定了?慢慢的,百行长的SQL
就出现了,那些让人看不懂的东西也出现了。那么,Web开发就是拼SQL吗?或者说Web开发就只会用到SQL
吗?万一需要Redis
,万一你的SQL
失灵了呢?
我一般在model层写一些简单的CURD操作。逻辑我还是放在了controller层,这样子model层可以最大成都的复用。
sql中去实现那些和业务相关的逻辑的话,你的这段sql几乎不存在可复用性。
话有说回来,
逻辑写在sql中,并不是没有好处,可能你将逻辑写在sql中之需要查一次DB搞定,若不在sql中,可能需要controller中调几个model中的方法才能做到,明显造成了一个问题,需要查多次db,取舍还需看具体业务了。
各有利弊,酌情选择